OSDN Git Service

media: ar0521: Refuse unsupported controls
authorJacopo Mondi <jacopo@jmondi.org>
Fri, 4 Nov 2022 14:24:48 +0000 (14:24 +0000)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Fri, 25 Nov 2022 08:44:24 +0000 (08:44 +0000)
Refuse unsupported controls by returning -EINVAL in the s_ctrl
operation. While at it, remove a the default switch case in the first
switch as it effectively is now a no-op.

Signed-off-by: Jacopo Mondi <jacopo@jmondi.org>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/i2c/ar0521.c

index d30f7a1..acb9509 100644 (file)
@@ -514,9 +514,6 @@ static int ar0521_s_ctrl(struct v4l2_ctrl *ctrl)
                sensor->total_height = sensor->fmt.width +
                        sensor->ctrls.vblank->val;
                break;
-       default:
-               ret = -EINVAL;
-               break;
        }
 
        /* access the sensor only if it's powered up */
@@ -546,6 +543,11 @@ static int ar0521_s_ctrl(struct v4l2_ctrl *ctrl)
                ret = ar0521_write_reg(sensor, AR0521_REG_TEST_PATTERN_MODE,
                                       ctrl->val);
                break;
+       default:
+               dev_err(&sensor->i2c_client->dev,
+                       "Unsupported control %x\n", ctrl->id);
+               ret = -EINVAL;
+               break;
        }
 
        pm_runtime_put(&sensor->i2c_client->dev);