media: i2c: imx274: fix error return code of imx274_s_frame_interval()
authorJia-Ju Bai <baijiaju1990@gmail.com>
Fri, 5 Mar 2021 03:19:42 +0000 (04:19 +0100)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Tue, 6 Apr 2021 12:31:59 +0000 (14:31 +0200)
When __v4l2_ctrl_modify_range() fails, no error return code of
imx274_s_frame_interval() is assigned.
To fix this bug, ret is assigned with the return valye of
__v4l2_ctrl_modify_range(), and then ret is checked.

Reported-by: TOTE Robot <oslab@tsinghua.edu.cn>
Signed-off-by: Jia-Ju Bai <baijiaju1990@gmail.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/i2c/imx274.c

index a9305077be4565c5af1943488b4c1da2a2439efa..cdccaab3043aadd2d68b036344a6479e273320d5 100644 (file)
@@ -1381,7 +1381,8 @@ static int imx274_s_frame_interval(struct v4l2_subdev *sd,
                max = fi->interval.numerator * 1000000
                        / fi->interval.denominator;
                def = max;
-               if (__v4l2_ctrl_modify_range(ctrl, min, max, 1, def)) {
+               ret = __v4l2_ctrl_modify_range(ctrl, min, max, 1, def);
+               if (ret) {
                        dev_err(&imx274->client->dev,
                                "Exposure ctrl range update failed\n");
                        goto unlock;