diff options
author | Steven Toth <stoth@kernellabs.com> | 2011-10-10 11:09:54 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-10-14 17:12:01 -0300 |
commit | 24465b448546e10666ad6021be0615214a258cbc (patch) | |
tree | 304fb686a109a7fdb950894dd784ad9c76cc66b9 /drivers/media | |
parent | af76e9f625b235f46d2a2002c4102f6f1249dcf4 (diff) | |
download | linux-24465b448546e10666ad6021be0615214a258cbc.tar.gz linux-24465b448546e10666ad6021be0615214a258cbc.tar.bz2 linux-24465b448546e10666ad6021be0615214a258cbc.zip |
[media] cx23885: ensure video is streaming before allowing vbi to stream
Signed-off-by: Steven Toth <stoth@kernellabs.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/video/cx23885/cx23885-video.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/media/video/cx23885/cx23885-video.c b/drivers/media/video/cx23885/cx23885-video.c index a182e829c8d0..44a63c4de122 100644 --- a/drivers/media/video/cx23885/cx23885-video.c +++ b/drivers/media/video/cx23885/cx23885-video.c @@ -1100,6 +1100,14 @@ static int vidioc_streamon(struct file *file, void *priv, if (unlikely(!res_get(dev, fh, get_resource(fh)))) return -EBUSY; + + /* Don't start VBI streaming unless vida streaming + * has already started. + */ + if ((fh->type == V4L2_BUF_TYPE_VBI_CAPTURE) && + ((cx_read(VID_A_DMA_CTL) & 0x11) == 0)) + return -EINVAL; + return videobuf_streamon(get_queue(fh)); } |