diff options
Diffstat (limited to 'drivers/media/video/uvc/uvc_queue.c')
-rw-r--r-- | drivers/media/video/uvc/uvc_queue.c | 7 |
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); } /* |