ref: 9b28790494ff317b438c7d32a3b0736ac73a1ec9
parent: e06f8e061a54a663f12e41b30271c157a92c159e
parent: 3869d7a8437e2a9902529cd68915dddcb43e6782
author: cinap_lenrek <[email protected]>
date: Sat May 23 22:12:47 EDT 2020
merge
--- a/sys/src/9/port/usbehci.c
+++ b/sys/src/9/port/usbehci.c
@@ -2278,12 +2278,15 @@
if(poll->must != 0 && poll->does == 0){
lock(poll);
- if(poll->must != 0 && poll->does == 0){
- poll->does++;
- print("ehci %#p: polling\n", ctlr->capio);
- kproc("ehcipoll", ehcipoll, hp);
+ if(poll->must == 0 || poll->does != 0) {
+ unlock(poll);
+ return;
}
+ poll->does++;
unlock(poll);
+
+ print("ehci %#p: polling\n", ctlr->capio);
+ kproc("ehcipoll", ehcipoll, hp);
}
}