summaryrefslogtreecommitdiff
path: root/drivers/media/video
diff options
context:
space:
mode:
authorAnatolij Gustschin <agust@denx.de>2011-01-31 12:19:32 (GMT)
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-03-21 23:32:13 (GMT)
commit7fdbd85bce033e2d0f74e5d326ab43906653cb81 (patch)
treec36c51eef45e1c3ffa52e0db9b478f4cd0ba3c6d /drivers/media/video
parented5b65dc362d488958075381d97931d865e77259 (diff)
downloadlinux-fsl-qoriq-7fdbd85bce033e2d0f74e5d326ab43906653cb81.tar.xz
[media] V4L: soc-camera: start stream after queueing the buffers
Some camera systems have strong requirement for capturing an exact number of frames after starting the stream and do not tolerate losing captured frames. By starting the stream after the videobuf has queued the buffers, we ensure that no frame will be lost. Signed-off-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/video')
-rw-r--r--drivers/media/video/soc_camera.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/media/video/soc_camera.c b/drivers/media/video/soc_camera.c
index a7820a5..67611ad 100644
--- a/drivers/media/video/soc_camera.c
+++ b/drivers/media/video/soc_camera.c
@@ -655,10 +655,10 @@ static int soc_camera_streamon(struct file *file, void *priv,
if (icd->streamer != file)
return -EBUSY;
- v4l2_subdev_call(sd, video, s_stream, 1);
-
/* This calls buf_queue from host driver's videobuf_queue_ops */
ret = videobuf_streamon(&icd->vb_vidq);
+ if (!ret)
+ v4l2_subdev_call(sd, video, s_stream, 1);
return ret;
}