]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: tc358743: register v4l2 async device only after successful setup
authorAlexander Stein <alexander.stein@ew.tq-group.com>
Wed, 10 Jan 2024 09:01:11 +0000 (10:01 +0100)
committerSasha Levin <sashal@kernel.org>
Tue, 26 Mar 2024 22:21:55 +0000 (18:21 -0400)
[ Upstream commit 87399f1ff92203d65f1febf5919429f4bb613a02 ]

Ensure the device has been setup correctly before registering the v4l2
async device, thus allowing userspace to access.

Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Reviewed-by: Robert Foss <rfoss@kernel.org>
Fixes: 4c5211a10039 ("[media] tc358743: register v4l2 asynchronous subdevice")
Signed-off-by: Robert Foss <rfoss@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240110090111.458115-1-alexander.stein@ew.tq-group.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/media/i2c/tc358743.c

index f21da11caf22411456e8bb63327f071a7549d67d..8bcb4b354c8952bba88b6309b4a4fe52dc126695 100644 (file)
@@ -2108,9 +2108,6 @@ static int tc358743_probe(struct i2c_client *client)
        state->mbus_fmt_code = MEDIA_BUS_FMT_RGB888_1X24;
 
        sd->dev = &client->dev;
-       err = v4l2_async_register_subdev(sd);
-       if (err < 0)
-               goto err_hdl;
 
        mutex_init(&state->confctl_mutex);
 
@@ -2168,6 +2165,10 @@ static int tc358743_probe(struct i2c_client *client)
        if (err)
                goto err_work_queues;
 
+       err = v4l2_async_register_subdev(sd);
+       if (err < 0)
+               goto err_work_queues;
+
        v4l2_info(sd, "%s found @ 0x%x (%s)\n", client->name,
                  client->addr << 1, client->adapter->name);