media: i2c: imx290: Use device lock for the control handler
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Sun, 16 Oct 2022 06:15:05 +0000 (09:15 +0300)
committerSakari Ailus <sakari.ailus@linux.intel.com>
Thu, 27 Oct 2022 11:38:00 +0000 (14:38 +0300)
The link frequency and pixel rate controls are set without holding the
control handler lock, resulting in kernel warnings. As the value of
those controls depend on the format, the simplest fix is to use the
device lock for the control handler.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
drivers/media/i2c/imx290.c

index 1ce64dc..e5b7583 100644 (file)
@@ -1043,6 +1043,7 @@ static int imx290_probe(struct i2c_client *client)
        imx290_entity_init_cfg(&imx290->sd, NULL);
 
        v4l2_ctrl_handler_init(&imx290->ctrls, 4);
+       imx290->ctrls.lock = &imx290->lock;
 
        v4l2_ctrl_new_std(&imx290->ctrls, &imx290_ctrl_ops,
                          V4L2_CID_GAIN, 0, 72, 1, 0);