summaryrefslogtreecommitdiffstats
path: root/sys/dev/usb/usb_dev.c
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2015-06-17 07:36:00 +0000
committerhselasky <hselasky@FreeBSD.org>2015-06-17 07:36:00 +0000
commit1786513a8dec318f224361d099419987e8e9a761 (patch)
tree6555caf8e5b12e8197ee9b5902c630b2f8748f5d /sys/dev/usb/usb_dev.c
parentf2d89bd6f8e4dd545997e09a806697684196cb18 (diff)
downloadFreeBSD-src-1786513a8dec318f224361d099419987e8e9a761.zip
FreeBSD-src-1786513a8dec318f224361d099419987e8e9a761.tar.gz
MFC r284011:
Don't wait forever for USB data to be flushed.
Diffstat (limited to 'sys/dev/usb/usb_dev.c')
-rw-r--r--sys/dev/usb/usb_dev.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/usb/usb_dev.c b/sys/dev/usb/usb_dev.c
index 92f8b6b..7231230 100644
--- a/sys/dev/usb/usb_dev.c
+++ b/sys/dev/usb/usb_dev.c
@@ -831,7 +831,8 @@ usb_fifo_close(struct usb_fifo *f, int fflags)
(!f->flag_iserror)) {
/* wait until all data has been written */
f->flag_sleeping = 1;
- err = cv_wait_sig(&f->cv_io, f->priv_mtx);
+ err = cv_timedwait_sig(&f->cv_io, f->priv_mtx,
+ USB_MS_TO_TICKS(USB_DEFAULT_TIMEOUT));
if (err) {
DPRINTF("signal received\n");
break;
OpenPOWER on IntegriCloud