summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authoraiju <devnull@localhost>2018-03-07 08:45:06 +0000
committeraiju <devnull@localhost>2018-03-07 08:45:06 +0000
commit56405e091963c8b2dc9d71aa624e33c582102949 (patch)
tree0fdb3c43b76e3354c128d1272192ef003fa8d973 /sys
parent9226caf2a3bf88258665f4e3786c6abb8820d308 (diff)
usbehci: catch interrupt in tsleep
Diffstat (limited to 'sys')
-rw-r--r--sys/src/9/port/usbehci.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/src/9/port/usbehci.c b/sys/src/9/port/usbehci.c
index a8120a516..6a9a7c031 100644
--- a/sys/src/9/port/usbehci.c
+++ b/sys/src/9/port/usbehci.c
@@ -3063,7 +3063,10 @@ cancelisoio(Ctlr *ctlr, Isoio *iso, ulong load)
*/
wakeup(iso);
diprint("cancelisoio iso %#p waiting for I/O to cease\n", iso);
- tsleep(&up->sleep, return0, 0, 5);
+ if(!waserror()){
+ tsleep(&up->sleep, return0, 0, 5);
+ poperror();
+ }
qlock(iso);
qunlock(iso);
diprint("cancelisoio iso %#p releasing iso\n", iso);