From 56405e091963c8b2dc9d71aa624e33c582102949 Mon Sep 17 00:00:00 2001 From: aiju Date: Wed, 7 Mar 2018 08:45:06 +0000 Subject: usbehci: catch interrupt in tsleep --- sys/src/9/port/usbehci.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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); -- cgit v1.2.3