* [PATCH v3 0/4] media: renesas: Fix missing media_entity_cleanup()
@ 2026-07-04 17:46 Biren Pandya
2026-07-04 17:46 ` [PATCH v3 1/4] media: renesas: rcar-csi2: Add " Biren Pandya
` (3 more replies)
0 siblings, 4 replies; 10+ messages in thread
From: Biren Pandya @ 2026-07-04 17:46 UTC (permalink / raw)
To: linux-media
Cc: linux-renesas-soc, linux-kernel, niklas.soderlund, mchehab,
geert+renesas, magnus.damm, laurent.pinchart, jacopo.mondi,
Biren Pandya
Hi all,
This patch series addresses missing `media_entity_cleanup()` calls across
multiple Renesas platform drivers (`rcar-csi2`, `csisp`, `rcar-vin`, and
`rzg2l-cru`).
While `media_entity_cleanup()` is currently a no-op when
CONFIG_MEDIA_CONTROLLER is disabled (and even when enabled in modern
kernels, as pads are rarely dynamically allocated anymore), the media
subsystem guidelines strictly require drivers to call it to prevent future
leaks if the core framework behavior changes.
Changes in v3:
- Addressed maintainer feedback from Jacopo Mondi to fix an unused-label
compilation error in `rcar-csi2.c`. The teardown inversion is now handled
cleanly inside the existing error path without requiring a new label.
Changes in v2:
- Introduced dedicated error labels in probe paths where shared error labels
previously caused `media_entity_cleanup()` to be skipped or improperly
called.
Biren Pandya (4):
media: renesas: rcar-csi2: Add missing media_entity_cleanup()
media: renesas: csisp: Add missing media_entity_cleanup()
media: renesas: rcar-core: Add missing media_entity_cleanup()
media: renesas: rzg2l-core: Add missing media_entity_cleanup()
drivers/media/platform/renesas/rcar-csi2.c | 2 ++
drivers/media/platform/renesas/rcar-isp/csisp.c | 5 ++++-
drivers/media/platform/renesas/rcar-vin/rcar-core.c | 5 ++++-
drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c | 1 +
4 files changed, 11 insertions(+), 2 deletions(-)
--
2.50.1 (Apple Git-155)
^ permalink raw reply [flat|nested] 10+ messages in thread* [PATCH v3 1/4] media: renesas: rcar-csi2: Add missing media_entity_cleanup()
2026-07-04 17:46 [PATCH v3 0/4] media: renesas: Fix missing media_entity_cleanup() Biren Pandya
@ 2026-07-04 17:46 ` Biren Pandya
2026-07-08 15:58 ` Jacopo Mondi
2026-07-04 17:46 ` [PATCH v3 2/4] media: renesas: csisp: " Biren Pandya
` (2 subsequent siblings)
3 siblings, 1 reply; 10+ messages in thread
From: Biren Pandya @ 2026-07-04 17:46 UTC (permalink / raw)
To: linux-media
Cc: linux-renesas-soc, linux-kernel, niklas.soderlund, mchehab,
geert+renesas, magnus.damm, laurent.pinchart, jacopo.mondi,
Biren Pandya
The probe error paths and the remove function fail to call
media_entity_cleanup() upon teardown.
While currently a no-op in most cases, calling media_entity_cleanup()
is an API requirement for entities initialized with media_entity_pads_init()
to prevent memory leaks.
Add the missing media_entity_cleanup() calls.
Signed-off-by: Biren Pandya <birenpandya@gmail.com>
---
drivers/media/platform/renesas/rcar-csi2.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/media/platform/renesas/rcar-csi2.c b/drivers/media/platform/renesas/rcar-csi2.c
index 7305cc4a04cb..f9c818b0faf7 100644
--- a/drivers/media/platform/renesas/rcar-csi2.c
+++ b/drivers/media/platform/renesas/rcar-csi2.c
@@ -2631,6 +2631,7 @@ static int rcsi2_probe(struct platform_device *pdev)
v4l2_subdev_cleanup(&priv->subdev);
error_pm_runtime:
pm_runtime_disable(&pdev->dev);
+ media_entity_cleanup(&priv->subdev.entity);
error_async:
v4l2_async_nf_unregister(&priv->notifier);
v4l2_async_nf_cleanup(&priv->notifier);
@@ -2646,6 +2647,7 @@ static void rcsi2_remove(struct platform_device *pdev)
v4l2_async_nf_cleanup(&priv->notifier);
v4l2_async_unregister_subdev(&priv->subdev);
v4l2_subdev_cleanup(&priv->subdev);
+ media_entity_cleanup(&priv->subdev.entity);
pm_runtime_disable(&pdev->dev);
}
--
2.50.1 (Apple Git-155)
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH v3 1/4] media: renesas: rcar-csi2: Add missing media_entity_cleanup()
2026-07-04 17:46 ` [PATCH v3 1/4] media: renesas: rcar-csi2: Add " Biren Pandya
@ 2026-07-08 15:58 ` Jacopo Mondi
0 siblings, 0 replies; 10+ messages in thread
From: Jacopo Mondi @ 2026-07-08 15:58 UTC (permalink / raw)
To: Biren Pandya
Cc: linux-media, linux-renesas-soc, linux-kernel, niklas.soderlund,
mchehab, geert+renesas, magnus.damm, laurent.pinchart,
jacopo.mondi
Hi Biren
On Sat, Jul 04, 2026 at 11:16:40PM +0530, Biren Pandya wrote:
> The probe error paths and the remove function fail to call
> media_entity_cleanup() upon teardown.
>
> While currently a no-op in most cases, calling media_entity_cleanup()
Here and in the other patches s/in most cases//
> is an API requirement for entities initialized with media_entity_pads_init()
> to prevent memory leaks.
>
> Add the missing media_entity_cleanup() calls.
Missing empty line
> Signed-off-by: Biren Pandya <birenpandya@gmail.com>
> ---
> drivers/media/platform/renesas/rcar-csi2.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/media/platform/renesas/rcar-csi2.c b/drivers/media/platform/renesas/rcar-csi2.c
> index 7305cc4a04cb..f9c818b0faf7 100644
> --- a/drivers/media/platform/renesas/rcar-csi2.c
> +++ b/drivers/media/platform/renesas/rcar-csi2.c
> @@ -2631,6 +2631,7 @@ static int rcsi2_probe(struct platform_device *pdev)
> v4l2_subdev_cleanup(&priv->subdev);
> error_pm_runtime:
> pm_runtime_disable(&pdev->dev);
> + media_entity_cleanup(&priv->subdev.entity);
> error_async:
> v4l2_async_nf_unregister(&priv->notifier);
> v4l2_async_nf_cleanup(&priv->notifier);
> @@ -2646,6 +2647,7 @@ static void rcsi2_remove(struct platform_device *pdev)
> v4l2_async_nf_cleanup(&priv->notifier);
> v4l2_async_unregister_subdev(&priv->subdev);
> v4l2_subdev_cleanup(&priv->subdev);
> + media_entity_cleanup(&priv->subdev.entity);
It's hard to guess right now as media_entity_cleanup() is a nop,
but it would feel more safe to first cleanup subdev.entity and then
subdev itself
media_entity_cleanup(&priv->subdev.entity);
v4l2_subdev_cleanup(&priv->subdev);
However, the probe() error path already does it in reverse, order,
so...
Reviewed-by: Jacopo Mondi <jacopo.mondi+renesas@ideasonboard.com>
>
> pm_runtime_disable(&pdev->dev);
> }
> --
> 2.50.1 (Apple Git-155)
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 2/4] media: renesas: csisp: Add missing media_entity_cleanup()
2026-07-04 17:46 [PATCH v3 0/4] media: renesas: Fix missing media_entity_cleanup() Biren Pandya
2026-07-04 17:46 ` [PATCH v3 1/4] media: renesas: rcar-csi2: Add " Biren Pandya
@ 2026-07-04 17:46 ` Biren Pandya
2026-07-08 15:54 ` Jacopo Mondi
2026-07-04 17:46 ` [PATCH v3 3/4] media: renesas: rcar-core: " Biren Pandya
2026-07-04 17:46 ` [PATCH v3 4/4] media: renesas: rzg2l-core: " Biren Pandya
3 siblings, 1 reply; 10+ messages in thread
From: Biren Pandya @ 2026-07-04 17:46 UTC (permalink / raw)
To: linux-media
Cc: linux-renesas-soc, linux-kernel, niklas.soderlund, mchehab,
geert+renesas, magnus.damm, laurent.pinchart, jacopo.mondi,
Biren Pandya
The probe error path and the remove function fail to call
media_entity_cleanup() upon teardown.
While currently a no-op in most cases, calling media_entity_cleanup()
is an API requirement for entities initialized with media_entity_pads_init()
to prevent memory leaks.
Add the missing media_entity_cleanup() calls. Furthermore, introduce a
dedicated error_entity label in the probe error path to ensure the cleanup
is only invoked if media_entity_pads_init() has successfully completed.
Signed-off-by: Biren Pandya <birenpandya@gmail.com>
---
drivers/media/platform/renesas/rcar-isp/csisp.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/media/platform/renesas/rcar-isp/csisp.c b/drivers/media/platform/renesas/rcar-isp/csisp.c
index 8fb2cc3b5650..61558a71ee35 100644
--- a/drivers/media/platform/renesas/rcar-isp/csisp.c
+++ b/drivers/media/platform/renesas/rcar-isp/csisp.c
@@ -539,7 +539,7 @@ static int risp_probe(struct platform_device *pdev)
ret = v4l2_subdev_init_finalize(&isp->subdev);
if (ret)
- goto error_notifier;
+ goto error_entity;
ret = v4l2_async_register_subdev(&isp->subdev);
if (ret < 0)
@@ -551,6 +551,8 @@ static int risp_probe(struct platform_device *pdev)
error_subdev:
v4l2_subdev_cleanup(&isp->subdev);
+error_entity:
+ media_entity_cleanup(&isp->subdev.entity);
error_notifier:
v4l2_async_nf_unregister(&isp->notifier);
v4l2_async_nf_cleanup(&isp->notifier);
@@ -569,6 +571,7 @@ static void risp_remove(struct platform_device *pdev)
v4l2_async_unregister_subdev(&isp->subdev);
v4l2_subdev_cleanup(&isp->subdev);
+ media_entity_cleanup(&isp->subdev.entity);
pm_runtime_disable(&pdev->dev);
}
--
2.50.1 (Apple Git-155)
^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH v3 2/4] media: renesas: csisp: Add missing media_entity_cleanup()
2026-07-04 17:46 ` [PATCH v3 2/4] media: renesas: csisp: " Biren Pandya
@ 2026-07-08 15:54 ` Jacopo Mondi
0 siblings, 0 replies; 10+ messages in thread
From: Jacopo Mondi @ 2026-07-08 15:54 UTC (permalink / raw)
To: Biren Pandya
Cc: linux-media, linux-renesas-soc, linux-kernel, niklas.soderlund,
mchehab, geert+renesas, magnus.damm, laurent.pinchart,
jacopo.mondi
Hi Biren
On Sat, Jul 04, 2026 at 11:16:41PM +0530, Biren Pandya wrote:
> The probe error path and the remove function fail to call
> media_entity_cleanup() upon teardown.
>
> While currently a no-op in most cases, calling media_entity_cleanup()
> is an API requirement for entities initialized with media_entity_pads_init()
> to prevent memory leaks.
>
> Add the missing media_entity_cleanup() calls. Furthermore, introduce a
> dedicated error_entity label in the probe error path to ensure the cleanup
> is only invoked if media_entity_pads_init() has successfully completed.
Empty line please
It could be added when applying though
> Signed-off-by: Biren Pandya <birenpandya@gmail.com>
> ---
> drivers/media/platform/renesas/rcar-isp/csisp.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/renesas/rcar-isp/csisp.c b/drivers/media/platform/renesas/rcar-isp/csisp.c
> index 8fb2cc3b5650..61558a71ee35 100644
> --- a/drivers/media/platform/renesas/rcar-isp/csisp.c
> +++ b/drivers/media/platform/renesas/rcar-isp/csisp.c
> @@ -539,7 +539,7 @@ static int risp_probe(struct platform_device *pdev)
>
> ret = v4l2_subdev_init_finalize(&isp->subdev);
> if (ret)
> - goto error_notifier;
> + goto error_entity;
>
> ret = v4l2_async_register_subdev(&isp->subdev);
> if (ret < 0)
> @@ -551,6 +551,8 @@ static int risp_probe(struct platform_device *pdev)
>
> error_subdev:
> v4l2_subdev_cleanup(&isp->subdev);
> +error_entity:
> + media_entity_cleanup(&isp->subdev.entity);
> error_notifier:
> v4l2_async_nf_unregister(&isp->notifier);
> v4l2_async_nf_cleanup(&isp->notifier);
> @@ -569,6 +571,7 @@ static void risp_remove(struct platform_device *pdev)
>
> v4l2_async_unregister_subdev(&isp->subdev);
> v4l2_subdev_cleanup(&isp->subdev);
> + media_entity_cleanup(&isp->subdev.entity);
Reviewed-by: Jacopo Mondi <jacopo.mondi+renesas@ideasonboard.com>
Thanks
j
>
> pm_runtime_disable(&pdev->dev);
> }
> --
> 2.50.1 (Apple Git-155)
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 3/4] media: renesas: rcar-core: Add missing media_entity_cleanup()
2026-07-04 17:46 [PATCH v3 0/4] media: renesas: Fix missing media_entity_cleanup() Biren Pandya
2026-07-04 17:46 ` [PATCH v3 1/4] media: renesas: rcar-csi2: Add " Biren Pandya
2026-07-04 17:46 ` [PATCH v3 2/4] media: renesas: csisp: " Biren Pandya
@ 2026-07-04 17:46 ` Biren Pandya
2026-07-08 16:01 ` Jacopo Mondi
2026-07-04 17:46 ` [PATCH v3 4/4] media: renesas: rzg2l-core: " Biren Pandya
3 siblings, 1 reply; 10+ messages in thread
From: Biren Pandya @ 2026-07-04 17:46 UTC (permalink / raw)
To: linux-media
Cc: linux-renesas-soc, linux-kernel, niklas.soderlund, mchehab,
geert+renesas, magnus.damm, laurent.pinchart, jacopo.mondi,
Biren Pandya
The probe error path and the remove function fail to call
media_entity_cleanup() upon teardown.
While currently a no-op in most cases, calling media_entity_cleanup()
is an API requirement for entities initialized with media_entity_pads_init()
to prevent memory leaks.
Add the missing media_entity_cleanup() calls. Furthermore, introduce a
dedicated err_entity label in the probe error path to ensure the cleanup
is only invoked if media_entity_pads_init() has successfully completed.
Signed-off-by: Biren Pandya <birenpandya@gmail.com>
---
drivers/media/platform/renesas/rcar-vin/rcar-core.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-core.c b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
index c8d564aa1eba..5bae8eb0ee19 100644
--- a/drivers/media/platform/renesas/rcar-vin/rcar-core.c
+++ b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
@@ -1211,7 +1211,7 @@ static int rcar_vin_probe(struct platform_device *pdev)
ret = rvin_create_controls(vin);
if (ret < 0)
- goto err_id;
+ goto err_entity;
switch (vin->info->model) {
case RCAR_GEN3:
@@ -1246,6 +1246,8 @@ static int rcar_vin_probe(struct platform_device *pdev)
err_ctrl:
rvin_free_controls(vin);
+err_entity:
+ media_entity_cleanup(&vin->vdev.entity);
err_id:
rvin_id_put(vin);
err_dma:
@@ -1270,6 +1272,7 @@ static void rcar_vin_remove(struct platform_device *pdev)
rvin_group_put(vin);
rvin_free_controls(vin);
+ media_entity_cleanup(&vin->vdev.entity);
rvin_id_put(vin);
--
2.50.1 (Apple Git-155)
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH v3 3/4] media: renesas: rcar-core: Add missing media_entity_cleanup()
2026-07-04 17:46 ` [PATCH v3 3/4] media: renesas: rcar-core: " Biren Pandya
@ 2026-07-08 16:01 ` Jacopo Mondi
0 siblings, 0 replies; 10+ messages in thread
From: Jacopo Mondi @ 2026-07-08 16:01 UTC (permalink / raw)
To: Biren Pandya
Cc: linux-media, linux-renesas-soc, linux-kernel, niklas.soderlund,
mchehab, geert+renesas, magnus.damm, laurent.pinchart,
jacopo.mondi
Hi Biren
On Sat, Jul 04, 2026 at 11:16:42PM +0530, Biren Pandya wrote:
> The probe error path and the remove function fail to call
> media_entity_cleanup() upon teardown.
>
> While currently a no-op in most cases, calling media_entity_cleanup()
> is an API requirement for entities initialized with media_entity_pads_init()
> to prevent memory leaks.
>
> Add the missing media_entity_cleanup() calls. Furthermore, introduce a
> dedicated err_entity label in the probe error path to ensure the cleanup
> is only invoked if media_entity_pads_init() has successfully completed.
Same comments as per the other patches
Reviewed-by: Jacopo Mondi <jacopo.mondi+renesas@ideasonboard.com>
> Signed-off-by: Biren Pandya <birenpandya@gmail.com>
> ---
> drivers/media/platform/renesas/rcar-vin/rcar-core.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/platform/renesas/rcar-vin/rcar-core.c b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
> index c8d564aa1eba..5bae8eb0ee19 100644
> --- a/drivers/media/platform/renesas/rcar-vin/rcar-core.c
> +++ b/drivers/media/platform/renesas/rcar-vin/rcar-core.c
> @@ -1211,7 +1211,7 @@ static int rcar_vin_probe(struct platform_device *pdev)
>
> ret = rvin_create_controls(vin);
> if (ret < 0)
> - goto err_id;
> + goto err_entity;
>
> switch (vin->info->model) {
> case RCAR_GEN3:
> @@ -1246,6 +1246,8 @@ static int rcar_vin_probe(struct platform_device *pdev)
>
> err_ctrl:
> rvin_free_controls(vin);
> +err_entity:
> + media_entity_cleanup(&vin->vdev.entity);
> err_id:
> rvin_id_put(vin);
> err_dma:
> @@ -1270,6 +1272,7 @@ static void rcar_vin_remove(struct platform_device *pdev)
> rvin_group_put(vin);
>
> rvin_free_controls(vin);
> + media_entity_cleanup(&vin->vdev.entity);
>
> rvin_id_put(vin);
>
> --
> 2.50.1 (Apple Git-155)
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 4/4] media: renesas: rzg2l-core: Add missing media_entity_cleanup()
2026-07-04 17:46 [PATCH v3 0/4] media: renesas: Fix missing media_entity_cleanup() Biren Pandya
` (2 preceding siblings ...)
2026-07-04 17:46 ` [PATCH v3 3/4] media: renesas: rcar-core: " Biren Pandya
@ 2026-07-04 17:46 ` Biren Pandya
2026-07-08 16:02 ` Jacopo Mondi
3 siblings, 1 reply; 10+ messages in thread
From: Biren Pandya @ 2026-07-04 17:46 UTC (permalink / raw)
To: linux-media
Cc: linux-renesas-soc, linux-kernel, niklas.soderlund, mchehab,
geert+renesas, magnus.damm, laurent.pinchart, jacopo.mondi,
Biren Pandya
The remove function fails to call media_entity_cleanup() upon teardown.
While currently a no-op in most cases, calling media_entity_cleanup()
is an API requirement for entities initialized with media_entity_pads_init()
to prevent memory leaks.
Add the missing media_entity_cleanup() call in rzg2l_cru_remove().
Signed-off-by: Biren Pandya <birenpandya@gmail.com>
---
drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
index 3c5fbd857371..84d4883e2fe7 100644
--- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
+++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
@@ -312,6 +312,7 @@ static void rzg2l_cru_remove(struct platform_device *pdev)
v4l2_async_nf_cleanup(&cru->notifier);
rzg2l_cru_video_unregister(cru);
+ media_entity_cleanup(&cru->vdev.entity);
media_device_cleanup(&cru->mdev);
mutex_destroy(&cru->mdev_lock);
--
2.50.1 (Apple Git-155)
^ permalink raw reply related [flat|nested] 10+ messages in thread* Re: [PATCH v3 4/4] media: renesas: rzg2l-core: Add missing media_entity_cleanup()
2026-07-04 17:46 ` [PATCH v3 4/4] media: renesas: rzg2l-core: " Biren Pandya
@ 2026-07-08 16:02 ` Jacopo Mondi
0 siblings, 0 replies; 10+ messages in thread
From: Jacopo Mondi @ 2026-07-08 16:02 UTC (permalink / raw)
To: Biren Pandya
Cc: linux-media, linux-renesas-soc, linux-kernel, niklas.soderlund,
mchehab, geert+renesas, magnus.damm, laurent.pinchart,
jacopo.mondi
On Sat, Jul 04, 2026 at 11:16:43PM +0530, Biren Pandya wrote:
> The remove function fails to call media_entity_cleanup() upon teardown.
>
> While currently a no-op in most cases, calling media_entity_cleanup()
> is an API requirement for entities initialized with media_entity_pads_init()
> to prevent memory leaks.
>
> Add the missing media_entity_cleanup() call in rzg2l_cru_remove().
Same comments as per the other patches
> Signed-off-by: Biren Pandya <birenpandya@gmail.com>
> ---
> drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
> index 3c5fbd857371..84d4883e2fe7 100644
> --- a/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
> +++ b/drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c
While at it, you could consider patching the error path in
rzg2l_cru_media_init()
Thanks
j
> @@ -312,6 +312,7 @@ static void rzg2l_cru_remove(struct platform_device *pdev)
> v4l2_async_nf_cleanup(&cru->notifier);
>
> rzg2l_cru_video_unregister(cru);
> + media_entity_cleanup(&cru->vdev.entity);
> media_device_cleanup(&cru->mdev);
> mutex_destroy(&cru->mdev_lock);
>
> --
> 2.50.1 (Apple Git-155)
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 0/4] media: renesas: Fix missing media_entity_cleanup()
@ 2026-06-22 17:33 Biren Pandya
2026-06-22 17:33 ` [PATCH v3 2/4] media: renesas: csisp: Add " Biren Pandya
0 siblings, 1 reply; 10+ messages in thread
From: Biren Pandya @ 2026-06-22 17:33 UTC (permalink / raw)
To: linux-media
Cc: jacopo.mondi, laurent.pinchart, kieran.bingham+renesas, mchehab,
linux-renesas-soc, linux-kernel, Biren Pandya
*** BLURB HERE ***
Biren Pandya (4):
media: renesas: rcar-csi2: Add missing media_entity_cleanup()
media: renesas: csisp: Add missing media_entity_cleanup()
media: renesas: rcar-core: Add missing media_entity_cleanup()
media: renesas: rzg2l-core: Add missing media_entity_cleanup()
drivers/media/platform/renesas/rcar-csi2.c | 2 ++
drivers/media/platform/renesas/rcar-isp/csisp.c | 5 ++++-
drivers/media/platform/renesas/rcar-vin/rcar-core.c | 5 ++++-
drivers/media/platform/renesas/rzg2l-cru/rzg2l-core.c | 1 +
4 files changed, 11 insertions(+), 2 deletions(-)
--
2.50.1 (Apple Git-155)
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH v3 2/4] media: renesas: csisp: Add missing media_entity_cleanup()
2026-06-22 17:33 [PATCH v3 0/4] media: renesas: Fix " Biren Pandya
@ 2026-06-22 17:33 ` Biren Pandya
0 siblings, 0 replies; 10+ messages in thread
From: Biren Pandya @ 2026-06-22 17:33 UTC (permalink / raw)
To: linux-media
Cc: jacopo.mondi, laurent.pinchart, kieran.bingham+renesas, mchehab,
linux-renesas-soc, linux-kernel, Biren Pandya,
Niklas Söderlund, Geert Uytterhoeven, Magnus Damm
The probe error path and remove function are missing calls to
media_entity_cleanup(). Add a dedicated error_entity label so the
cleanup is only invoked when media_entity_pads_init() has actually
succeeded. This ensures that the teardown logic properly mirrors
initialization.
Signed-off-by: Biren Pandya <birenpandya@gmail.com>
---
drivers/media/platform/renesas/rcar-isp/csisp.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/media/platform/renesas/rcar-isp/csisp.c b/drivers/media/platform/renesas/rcar-isp/csisp.c
index 8fb2cc3b5650..61558a71ee35 100644
--- a/drivers/media/platform/renesas/rcar-isp/csisp.c
+++ b/drivers/media/platform/renesas/rcar-isp/csisp.c
@@ -539,7 +539,7 @@ static int risp_probe(struct platform_device *pdev)
ret = v4l2_subdev_init_finalize(&isp->subdev);
if (ret)
- goto error_notifier;
+ goto error_entity;
ret = v4l2_async_register_subdev(&isp->subdev);
if (ret < 0)
@@ -551,6 +551,8 @@ static int risp_probe(struct platform_device *pdev)
error_subdev:
v4l2_subdev_cleanup(&isp->subdev);
+error_entity:
+ media_entity_cleanup(&isp->subdev.entity);
error_notifier:
v4l2_async_nf_unregister(&isp->notifier);
v4l2_async_nf_cleanup(&isp->notifier);
@@ -569,6 +571,7 @@ static void risp_remove(struct platform_device *pdev)
v4l2_async_unregister_subdev(&isp->subdev);
v4l2_subdev_cleanup(&isp->subdev);
+ media_entity_cleanup(&isp->subdev.entity);
pm_runtime_disable(&pdev->dev);
}
--
2.50.1 (Apple Git-155)
^ permalink raw reply related [flat|nested] 10+ messages in thread
end of thread, other threads:[~2026-07-08 16:02 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-04 17:46 [PATCH v3 0/4] media: renesas: Fix missing media_entity_cleanup() Biren Pandya
2026-07-04 17:46 ` [PATCH v3 1/4] media: renesas: rcar-csi2: Add " Biren Pandya
2026-07-08 15:58 ` Jacopo Mondi
2026-07-04 17:46 ` [PATCH v3 2/4] media: renesas: csisp: " Biren Pandya
2026-07-08 15:54 ` Jacopo Mondi
2026-07-04 17:46 ` [PATCH v3 3/4] media: renesas: rcar-core: " Biren Pandya
2026-07-08 16:01 ` Jacopo Mondi
2026-07-04 17:46 ` [PATCH v3 4/4] media: renesas: rzg2l-core: " Biren Pandya
2026-07-08 16:02 ` Jacopo Mondi
-- strict thread matches above, loose matches on Subject: below --
2026-06-22 17:33 [PATCH v3 0/4] media: renesas: Fix " Biren Pandya
2026-06-22 17:33 ` [PATCH v3 2/4] media: renesas: csisp: Add " Biren Pandya
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox