V4L/DVB (7556): em28xx: fix locking on vidioc_s_fmt_cap
Currently, vidioc_s_fmt_cap is allowed even if streaming is running on some other fh. This is likely to cause issues. Block use of vidioc_s_fmt_cap if someone else has claimed access to the device. Signed-off-by: Aidan Thornton <makosoft@googlemail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
This commit is contained in:
parent
b957dfdc31
commit
0ea13e6e59
1 changed files with 6 additions and 0 deletions
|
@ -947,6 +947,12 @@ static int vidioc_s_fmt_cap(struct file *file, void *priv,
|
|||
goto out;
|
||||
}
|
||||
|
||||
if (dev->stream_on && !fh->stream_on) {
|
||||
em28xx_errdev("%s device in use by another fh\n", __func__);
|
||||
rc = -EBUSY;
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* set new image size */
|
||||
dev->width = f->fmt.pix.width;
|
||||
dev->height = f->fmt.pix.height;
|
||||
|
|
Loading…
Reference in a new issue