aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/videobuf-core.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/media/video/videobuf-core.c b/drivers/media/video/videobuf-core.c
index eab79ffdf56..5ea635fac23 100644
--- a/drivers/media/video/videobuf-core.c
+++ b/drivers/media/video/videobuf-core.c
@@ -605,7 +605,9 @@ int videobuf_dqbuf(struct videobuf_queue *q,
goto done;
}
buf = list_entry(q->stream.next, struct videobuf_buffer, stream);
+ mutex_unlock(&q->vb_lock);
retval = videobuf_waiton(buf, nonblocking, 1);
+ mutex_lock(&q->vb_lock);
if (retval < 0) {
dprintk(1, "dqbuf: waiton returned %d\n", retval);
goto done;