| From 69080ec3d0daba8a894025476c98ab16b5a505a4 Mon Sep 17 00:00:00 2001 |
| From: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> |
| Date: Tue, 13 May 2025 17:23:45 +0300 |
| Subject: media: qcom: camss: cleanup media device allocated resource on error path |
| |
| From: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> |
| |
| commit 69080ec3d0daba8a894025476c98ab16b5a505a4 upstream. |
| |
| A call to media_device_init() requires media_device_cleanup() counterpart |
| to complete cleanup and release any allocated resources. |
| |
| This has been done in the driver .remove() right from the beginning, but |
| error paths on .probe() shall also be fixed. |
| |
| Fixes: a1d7c116fcf7 ("media: camms: Add core files") |
| Cc: stable@vger.kernel.org |
| Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> |
| Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> |
| Signed-off-by: Bryan O'Donoghue <bod@kernel.org> |
| Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/media/platform/qcom/camss/camss.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/media/platform/qcom/camss/camss.c |
| +++ b/drivers/media/platform/qcom/camss/camss.c |
| @@ -1658,7 +1658,7 @@ static int camss_probe(struct platform_d |
| 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_genpd_cleanup; |
| + goto err_media_device_cleanup; |
| } |
| |
| v4l2_async_nf_init(&camss->notifier); |
| @@ -1710,6 +1710,8 @@ err_v4l2_device_unregister: |
| v4l2_device_unregister(&camss->v4l2_dev); |
| v4l2_async_nf_cleanup(&camss->notifier); |
| pm_runtime_disable(dev); |
| +err_media_device_cleanup: |
| + media_device_cleanup(&camss->media_dev); |
| err_genpd_cleanup: |
| camss_genpd_cleanup(camss); |
| |