summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2004-05-27 01:34:35 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2004-05-27 01:34:35 +0000
commit94536f73ec48910533ea84f9bbbc1922764cb755 (patch)
tree436c36c2d6e73c790a5014d4369dddda8fca0d79
parent8c4caaa0fe88fa986001738b3166c4146279c31b (diff)
while polling, ack & ignore interrupts. this will have to do until
someone writes a better diff. from peter
-rw-r--r--sys/dev/usb/ehci.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/usb/ehci.c b/sys/dev/usb/ehci.c
index 15c6da5a6cd..c9684125ce6 100644
--- a/sys/dev/usb/ehci.c
+++ b/sys/dev/usb/ehci.c
@@ -486,9 +486,10 @@ ehci_intr(void *v)
/* If we get an interrupt while polling, then just ignore it. */
if (sc->sc_bus.use_polling) {
-#ifdef DIAGNOSTIC
- printf("ehci_intr: ignored interrupt while polling\n");
-#endif
+ u_int32_t intrs = EHCI_STS_INTRS(EOREAD4(sc, EHCI_USBSTS));
+
+ if (intrs)
+ EOWRITE4(sc, EHCI_USBSTS, intrs); /* Acknowledge */
return (0);
}