diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2012-06-06 05:17:16 (GMT) |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-06-11 18:16:29 (GMT) |
commit | d9762df4a9d0e412b6676a96135323d6924406b8 (patch) | |
tree | 7d928fb40c46649dafad869f69ff866d8b0c93dc /drivers/media/video/vivi.c | |
parent | af03891f61d7b69eebc79d07bf580faaa9636fbc (diff) | |
download | linux-d9762df4a9d0e412b6676a96135323d6924406b8.tar.xz |
[media] Fix vivi regression
This patch fixes a regression introduced by commit
5126f2590bee412e3053de851cb07f531e4be36a:
[media] v4l2-dev: add flag to have the core lock all file operations
I forgot to add the locks to the vivi read operation.
Regards,
Hans
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video/vivi.c')
-rw-r--r-- | drivers/media/video/vivi.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/media/video/vivi.c b/drivers/media/video/vivi.c index 0960d7f..08c1024 100644 --- a/drivers/media/video/vivi.c +++ b/drivers/media/video/vivi.c @@ -1149,10 +1149,14 @@ static ssize_t vivi_read(struct file *file, char __user *data, size_t count, loff_t *ppos) { struct vivi_dev *dev = video_drvdata(file); + int err; dprintk(dev, 1, "read called\n"); - return vb2_read(&dev->vb_vidq, data, count, ppos, + mutex_lock(&dev->mutex); + err = vb2_read(&dev->vb_vidq, data, count, ppos, file->f_flags & O_NONBLOCK); + mutex_unlock(&dev->mutex); + return err; } static unsigned int |