summaryrefslogtreecommitdiff
path: root/sys/dev/usb/uhci.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/usb/uhci.c')
-rw-r--r--sys/dev/usb/uhci.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/dev/usb/uhci.c b/sys/dev/usb/uhci.c
index 2601b65b84e..a84586fb08f 100644
--- a/sys/dev/usb/uhci.c
+++ b/sys/dev/usb/uhci.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: uhci.c,v 1.90 2011/07/03 15:47:17 matthew Exp $ */
+/* $OpenBSD: uhci.c,v 1.91 2012/08/07 23:51:36 krw Exp $ */
/* $NetBSD: uhci.c,v 1.172 2003/02/23 04:19:26 simonb Exp $ */
/* $FreeBSD: src/sys/dev/usb/uhci.c,v 1.33 1999/11/17 22:33:41 n_hibma Exp $ */
@@ -1981,6 +1981,7 @@ uhci_device_ctrl_start(usbd_xfer_handle xfer)
if (sc->sc_bus.use_polling)
uhci_waitintr(sc, xfer);
+
return (USBD_IN_PROGRESS);
}
@@ -2077,6 +2078,9 @@ uhci_device_intr_start(usbd_xfer_handle xfer)
}
#endif
+ if (sc->sc_bus.use_polling)
+ uhci_waitintr(sc, xfer);
+
return (USBD_IN_PROGRESS);
}
@@ -2408,6 +2412,11 @@ uhci_device_isoc_start(usbd_xfer_handle xfer)
splx(s);
+ if (sc->sc_bus.use_polling) {
+ DPRINTF(("Starting ohci isoc xfer with polling. Bad idea?\n"));
+ uhci_waitintr(sc, xfer);
+ }
+
return (USBD_IN_PROGRESS);
}