Skip to content

Commit

Permalink
media: qcom: camss: Fix V4L2 async notifier error path
Browse files Browse the repository at this point in the history
[ Upstream commit b278080 ]

Previously the jump label err_cleanup was used higher in the probe()
function to release the async notifier however the async notifier
registration was moved later in the code rendering the previous four jumps
redundant.

Rename the label from err_cleanup to err_v4l2_device_unregister to capture
what the jump does.

Fixes: 51397a4ec75d ("media: qcom: Initialise V4L2 async notifier later")
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
[hverkuil: fix old name in commit log: err_v4l2_device_register -> err_v4l2_device_unregister]
Signed-off-by: Sasha Levin <sashal@kernel.org>
  • Loading branch information
0xB0D authored and gregkh committed Jan 10, 2024
1 parent f302f37 commit 3c97918
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions drivers/media/platform/qcom/camss/camss.c
Original file line number Diff line number Diff line change
Expand Up @@ -1617,21 +1617,21 @@ static int camss_probe(struct platform_device *pdev)

ret = camss_icc_get(camss);
if (ret < 0)
goto err_cleanup;
return ret;

ret = camss_configure_pd(camss);
if (ret < 0) {
dev_err(dev, "Failed to configure power domains: %d\n", ret);
goto err_cleanup;
return ret;
}

ret = camss_init_subdevices(camss);
if (ret < 0)
goto err_cleanup;
return ret;

ret = dma_set_mask_and_coherent(dev, 0xffffffff);
if (ret)
goto err_cleanup;
return ret;

camss->media_dev.dev = camss->dev;
strscpy(camss->media_dev.model, "Qualcomm Camera Subsystem",
Expand All @@ -1643,20 +1643,20 @@ static int camss_probe(struct platform_device *pdev)
ret = v4l2_device_register(camss->dev, &camss->v4l2_dev);
if (ret < 0) {
dev_err(dev, "Failed to register V4L2 device: %d\n", ret);
goto err_cleanup;
return ret;
}

v4l2_async_nf_init(&camss->notifier, &camss->v4l2_dev);

num_subdevs = camss_of_parse_ports(camss);
if (num_subdevs < 0) {
ret = num_subdevs;
goto err_cleanup;
goto err_v4l2_device_unregister;
}

ret = camss_register_entities(camss);
if (ret < 0)
goto err_cleanup;
goto err_v4l2_device_unregister;

if (num_subdevs) {
camss->notifier.ops = &camss_subdev_notifier_ops;
Expand Down Expand Up @@ -1690,7 +1690,7 @@ static int camss_probe(struct platform_device *pdev)

err_register_subdevs:
camss_unregister_entities(camss);
err_cleanup:
err_v4l2_device_unregister:
v4l2_device_unregister(&camss->v4l2_dev);
v4l2_async_nf_cleanup(&camss->notifier);

Expand Down

0 comments on commit 3c97918

Please sign in to comment.