summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/usb_transfer.c
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2014-01-22 07:48:39 +0000
committerhselasky <hselasky@FreeBSD.org>2014-01-22 07:48:39 +0000
commit6fdccb82d0f189576d4724542976184be35b1fe4 (patch)
tree6204c009ad033c9fe041cd9706a850da9e24e218 /sys/dev/usb/usb_transfer.c
parent4dfe3b9982102789352a57a7ea5e31a23f3d823d (diff)
downloadFreeBSD-src-6fdccb82d0f189576d4724542976184be35b1fe4.zip
FreeBSD-src-6fdccb82d0f189576d4724542976184be35b1fe4.tar.gz
Ensure that the DMA delay does not get rounded down to zero ticks when
a timeout value of a single tick is given. With FreeBSD-10 and newer the current system time is used as a starting point, and the minimum callout time of a single tick will be guaranteed. This patch mostly affect the DMA delay timeouts, which are typically in the range from 0.125 to 2ms. MFC after: 1 week
Diffstat (limited to 'sys/dev/usb/usb_transfer.c')
-rw-r--r--sys/dev/usb/usb_transfer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/dev/usb/usb_transfer.c b/sys/dev/usb/usb_transfer.c
index 0a3a782..dccac40 100644
--- a/sys/dev/usb/usb_transfer.c
+++ b/sys/dev/usb/usb_transfer.c
@@ -2723,7 +2723,7 @@ usbd_transfer_timeout_ms(struct usb_xfer *xfer,
/* defer delay */
usb_callout_reset(&xfer->timeout_handle,
- USB_MS_TO_TICKS(ms), cb, xfer);
+ USB_MS_TO_TICKS(ms) + USB_CALLOUT_ZERO_TICKS, cb, xfer);
}
/*------------------------------------------------------------------------*
OpenPOWER on IntegriCloud