FAILED: Patch "media: i2c: ov5647: Initialize subdev before controls" failed to apply to 6.1-stable tree
Subsystems (4)
Sasha Levin
maintainerThe patch below does not apply to the 6.1-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
Thanks,
Sasha
------------------ original commit in Linus's tree ------------------
From eee13cbccacb6d0a3120c126b8544030905b069d Mon Sep 17 00:00:00 2001
From: Jai Luthra <[email protected]>
Date: Mon, 22 Dec 2025 13:45:25 +0530
Subject: [PATCH] media: i2c: ov5647: Initialize subdev before controls
In ov5647_init_controls() we call v4l2_get_subdevdata, but it is initialized by v4l2_i2c_subdev_init() in the probe, which currently happens after init_controls(). This can result in a segfault if the error condition is hit, and we try to access i2c_client, so fix the order.
--- drivers/media/i2c/ov5647.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
drivers/media/i2c/ov5647.c +4 -4
@@ -1420,15 +1420,15 @@ static int ov5647_probe(struct i2c_client *client) sensor->mode =OV5647_DEFAULT_MODE ; - ret =ov5647_init_controls (sensor); -if (ret) - goto mutex_destroy; - sd = &sensor->sd;v4l2_i2c_subdev_init (sd, client, &ov5647_subdev_ops); sd->internal_ops = &ov5647_subdev_internal_ops; sd->flags |=V4L2_SUBDEV_FL_HAS_DEVNODE |V4L2_SUBDEV_FL_HAS_EVENTS ; + ret =ov5647_init_controls (sensor); +if (ret) + goto mutex_destroy; + sensor->pad.flags =MEDIA_PAD_FL_SOURCE ; sd->entity.function =MEDIA_ENT_F_CAM_SENSOR ; ret =media_entity_pads_init (&sd->entity,1 , &sensor->pad);
Signature · 1 line
2.51.0