summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/uvc/uvc_queue.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/media/video/uvc/uvc_queue.c b/drivers/media/video/uvc/uvc_queue.c
index 0155752e4a5a..9870d93cd042 100644
--- a/drivers/media/video/uvc/uvc_queue.c
+++ b/drivers/media/video/uvc/uvc_queue.c
@@ -23,6 +23,8 @@
#include "uvcvideo.h"
+#define UVC_Q_WAITON_TIMEOUT 250 /* mSec */
+
/* ------------------------------------------------------------------------
* Video buffers queue management.
*
@@ -285,9 +287,10 @@ static int uvc_queue_waiton(struct uvc_buffer *buf, int nonblocking)
? 0 : -EAGAIN;
}
- return wait_event_interruptible(buf->wait,
+ return wait_event_interruptible_timeout(buf->wait,
buf->state != UVC_BUF_STATE_QUEUED &&
- buf->state != UVC_BUF_STATE_ACTIVE);
+ buf->state != UVC_BUF_STATE_ACTIVE,
+ UVC_Q_WAITON_TIMEOUT);
}
/*