summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/usbdi.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/usb/usbdi.c')
-rw-r--r--sys/dev/usb/usbdi.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/sys/dev/usb/usbdi.c b/sys/dev/usb/usbdi.c
index 9b9fafd..a544206 100644
--- a/sys/dev/usb/usbdi.c
+++ b/sys/dev/usb/usbdi.c
@@ -300,10 +300,13 @@ usbd_transfer(xfer)
if (pipe->device->bus->use_polling)
panic("usbd_transfer: not done\n");
if (pipe->device->quirks->uq_flags & UQ_NO_TSLEEP) {
- int i;
- for (i = 0; i < xfer->timeout + 1; i++) {
- DELAY(1);
- pipe->device->bus->methods->do_poll(pipe->device->bus);
+ int i, to;
+ usbd_bus_handle bus;
+ to = xfer->timeout * 1000;
+ bus = pipe->device->bus;
+ for (i = 0; i < to; i += 10) {
+ DELAY(10);
+ bus->methods->do_poll(bus);
if (xfer->done)
break;
}
OpenPOWER on IntegriCloud