openwrt/target/linux/bcm27xx/patches-6.1/950-0991-media-i2c-imx477-Fix-locking-in-imx477_init_controls.patch

35 lines
982 B
Diff
Raw Normal View History

From 72c25bbb761de2b2acd9f8b652d63e2a2f1caeed Mon Sep 17 00:00:00 2001
From: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Date: Mon, 11 Sep 2023 12:17:25 +0300
Subject: [PATCH] media: i2c: imx477: Fix locking in imx477_init_controls()
The driver does not lock the imx477 mutex when calling
imx477_set_framing_limits(), leading to:
WARNING: CPU: 3 PID: 426 at drivers/media/v4l2-core/v4l2-ctrls-api.c:934 __v4l2_ctrl_modify_range+0x1a0/0x210 [
videodev]
Fix this by taking the lock.
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
---
drivers/media/i2c/imx477.c | 4 ++++
1 file changed, 4 insertions(+)
--- a/drivers/media/i2c/imx477.c
+++ b/drivers/media/i2c/imx477.c
@@ -2069,9 +2069,13 @@ static int imx477_init_controls(struct i
imx477->sd.ctrl_handler = ctrl_hdlr;
+ mutex_lock(&imx477->mutex);
+
/* Setup exposure and frame/line length limits. */
imx477_set_framing_limits(imx477);
+ mutex_unlock(&imx477->mutex);
+
return 0;
error: