aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/platform/s5p-tv/mixer_video.c
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2014-04-17 01:47:21 -0400
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-04-23 09:12:51 -0400
commite37559b22c63b557d242bfa1a07ab1b8f7d5d9f1 (patch)
treec74ed6e62e384350c04c35bfdc7fdf34c82fcdb3 /drivers/media/platform/s5p-tv/mixer_video.c
parentac9687a2e6abd7d87af413d1a8eb78f947921464 (diff)
[media] vb2: stop_streaming should return void
The vb2 core ignores any return code from the stop_streaming op. And there really isn't anything it can do anyway in case of an error. So change the return type to void and update any drivers that implement it. The int return gave drivers the idea that this operation could actually fail, but that's really not the case. The pwc amd sdr-msi3101 drivers both had this construction: if (mutex_lock_interruptible(&s->v4l2_lock)) return -ERESTARTSYS; This has been updated to just call mutex_lock(). The stop_streaming op expects this to really stop streaming and I very much doubt this will work reliably if stop_streaming just returns without really stopping the DMA. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Pawel Osciak <pawel@osciak.com> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/platform/s5p-tv/mixer_video.c')
-rw-r--r--drivers/media/platform/s5p-tv/mixer_video.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/media/platform/s5p-tv/mixer_video.c b/drivers/media/platform/s5p-tv/mixer_video.c
index a1ce55fd30f3..9f1e52f0bd09 100644
--- a/drivers/media/platform/s5p-tv/mixer_video.c
+++ b/drivers/media/platform/s5p-tv/mixer_video.c
@@ -985,7 +985,7 @@ static void mxr_watchdog(unsigned long arg)
985 spin_unlock_irqrestore(&layer->enq_slock, flags); 985 spin_unlock_irqrestore(&layer->enq_slock, flags);
986} 986}
987 987
988static int stop_streaming(struct vb2_queue *vq) 988static void stop_streaming(struct vb2_queue *vq)
989{ 989{
990 struct mxr_layer *layer = vb2_get_drv_priv(vq); 990 struct mxr_layer *layer = vb2_get_drv_priv(vq);
991 struct mxr_device *mdev = layer->mdev; 991 struct mxr_device *mdev = layer->mdev;
@@ -1031,7 +1031,6 @@ static int stop_streaming(struct vb2_queue *vq)
1031 mxr_streamer_put(mdev); 1031 mxr_streamer_put(mdev);
1032 /* allow changes in output configuration */ 1032 /* allow changes in output configuration */
1033 mxr_output_put(mdev); 1033 mxr_output_put(mdev);
1034 return 0;
1035} 1034}
1036 1035
1037static struct vb2_ops mxr_video_qops = { 1036static struct vb2_ops mxr_video_qops = {