summaryrefslogtreecommitdiff
path: root/sys/src/9/port/devusb.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2017-08-02 21:17:50 +0200
committercinap_lenrek <cinap_lenrek@felloff.net>2017-08-02 21:17:50 +0200
commit83b87729d94850396c7183376320e16dbb80ecc5 (patch)
tree75da2f67f127fa285c69eed0b8a18297eee8f12a /sys/src/9/port/devusb.c
parent1ea109345b8654110239d9c2695ae15486aa6810 (diff)
usbxhci: handle out of memory in controller initialization
Diffstat (limited to 'sys/src/9/port/devusb.c')
-rw-r--r--sys/src/9/port/devusb.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/src/9/port/devusb.c b/sys/src/9/port/devusb.c
index 4ecd08c28..7e713c7a9 100644
--- a/sys/src/9/port/devusb.c
+++ b/sys/src/9/port/devusb.c
@@ -769,8 +769,14 @@ usbinit(void)
if(hp != nil){
int n;
- if(hp->init != nil)
+ if(hp->init != nil){
+ if(waserror()){
+ print("usbinit: %s: %s\n", hp->type, up->errstr);
+ continue;
+ }
hp->init(hp);
+ poperror();
+ }
hp->superspeed &= (1<<hp->nports)-1;
n = hp->nports - numbits(hp->superspeed);