media: tc358743: register v4l2 async device only after successful setup

[ Upstream commit 87399f1ff9 ]

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: 4c5211a100 ("[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>
This commit is contained in:
Alexander Stein 2024-01-10 10:01:11 +01:00 committed by Sasha Levin
parent b17195f1e0
commit 8ba8db9786

View file

@ -2094,9 +2094,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);
@ -2154,6 +2151,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);