From 03ad59f28784b882b1e741b88307a6ecfbec71f4 Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Fri, 11 Oct 2013 15:37:55 +1100 Subject: [PATCH] Add a small amount to the usb timeout before cancelling to allow for a regular usb polling interval to pass. --- usbutils.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/usbutils.c b/usbutils.c index 2c190fb3..93066235 100644 --- a/usbutils.c +++ b/usbutils.c @@ -2227,7 +2227,9 @@ static int callback_wait(struct cgpu_info *cgpu, struct usb_transfer *ut, int *t int ret; cgtime(&tv_now); - ms_to_timespec(&ts_end, timeout); + /* Add enough to the timeout to allow for a normal USB polling interval + * of 1ms to pass. */ + ms_to_timespec(&ts_end, timeout + 2); timeval_to_spec(&ts_now, &tv_now); timeraddspec(&ts_end, &ts_now); ret = pthread_cond_timedwait(&ut->cond, &ut->mutex, &ts_end);