summaryrefslogtreecommitdiffstats
path: root/drivers/media
diff options
context:
space:
mode:
authorSteven Toth <stoth@kernellabs.com>2011-10-10 11:09:54 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-10-14 17:12:01 -0300
commit24465b448546e10666ad6021be0615214a258cbc (patch)
tree304fb686a109a7fdb950894dd784ad9c76cc66b9 /drivers/media
parentaf76e9f625b235f46d2a2002c4102f6f1249dcf4 (diff)
downloadlinux-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.c8
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));
}