aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAnatolij Gustschin <agust@denx.de>2011-01-31 07:19:32 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-03-21 19:32:13 -0400
commit7fdbd85bce033e2d0f74e5d326ab43906653cb81 (patch)
treec36c51eef45e1c3ffa52e0db9b478f4cd0ba3c6d /drivers
parented5b65dc362d488958075381d97931d865e77259 (diff)
[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')
-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 a7820a549f1b..67611ad6af96 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,
655 if (icd->streamer != file) 655 if (icd->streamer != file)
656 return -EBUSY; 656 return -EBUSY;
657 657
658 v4l2_subdev_call(sd, video, s_stream, 1);
659
660 /* This calls buf_queue from host driver's videobuf_queue_ops */ 658 /* This calls buf_queue from host driver's videobuf_queue_ops */
661 ret = videobuf_streamon(&icd->vb_vidq); 659 ret = videobuf_streamon(&icd->vb_vidq);
660 if (!ret)
661 v4l2_subdev_call(sd, video, s_stream, 1);
662 662
663 return ret; 663 return ret;
664} 664}