media: platform: sunxi: sun6i-csi: fix error return code of sun6i_video_start_streaming()
authorJia-Ju Bai <baijiaju1990@gmail.com>
Sat, 6 Mar 2021 14:15:28 +0000 (15:15 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 14 May 2021 07:50:23 +0000 (09:50 +0200)
[ Upstream commit f3d384e36630e2a552d874e422835606d9cf230a ]

When sun6i_video_remote_subdev() returns NULL to subdev, no error return
code of sun6i_video_start_streaming() is assigned.
To fix this bug, ret is assigned with -EINVAL in this case.

Reported-by: TOTE Robot <oslab@tsinghua.edu.cn>
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Fixes: 5cc7522d8965 ("media: sun6i: Add support for Allwinner CSI V3s")
Acked-by: Chen-Yu Tsai <wens@csie.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/platform/sunxi/sun6i-csi/sun6i_video.c

index b55de9a..3181d07 100644 (file)
@@ -151,8 +151,10 @@ static int sun6i_video_start_streaming(struct vb2_queue *vq, unsigned int count)
        }
 
        subdev = sun6i_video_remote_subdev(video, NULL);
-       if (!subdev)
+       if (!subdev) {
+               ret = -EINVAL;
                goto stop_media_pipeline;
+       }
 
        config.pixelformat = video->fmt.fmt.pix.pixelformat;
        config.code = video->mbus_code;