mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [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 1/4] media: renesas: rcar-csi2: Add " Biren Pandya
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ 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] 9+ messages in thread

* [PATCH v3 1/4] media: renesas: rcar-csi2: Add missing media_entity_cleanup()
  2026-06-22 17:33 [PATCH v3 0/4] media: renesas: Fix missing media_entity_cleanup() Biren Pandya
@ 2026-06-22 17:33 ` Biren Pandya
  2026-06-22 17:33 ` [PATCH v3 2/4] media: renesas: csisp: " Biren Pandya
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ 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 paths and remove function are missing calls to
media_entity_cleanup(). Add them.

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	[flat|nested] 9+ 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 missing media_entity_cleanup() Biren Pandya
  2026-06-22 17:33 ` [PATCH v3 1/4] media: renesas: rcar-csi2: Add " Biren Pandya
@ 2026-06-22 17:33 ` Biren Pandya
  2026-06-22 17:33 ` [PATCH v3 3/4] media: renesas: rcar-core: " Biren Pandya
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 9+ 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	[flat|nested] 9+ messages in thread

* [PATCH v3 3/4] media: renesas: rcar-core: Add missing media_entity_cleanup()
  2026-06-22 17:33 [PATCH v3 0/4] media: renesas: Fix missing media_entity_cleanup() Biren Pandya
  2026-06-22 17:33 ` [PATCH v3 1/4] media: renesas: rcar-csi2: Add " Biren Pandya
  2026-06-22 17:33 ` [PATCH v3 2/4] media: renesas: csisp: " Biren Pandya
@ 2026-06-22 17:33 ` Biren Pandya
  2026-06-22 17:33 ` [PATCH v3 4/4] media: renesas: rzg2l-core: " Biren Pandya
  2026-06-22 17:48 ` [PATCH v3 0/4] media: renesas: Fix " Biju Das
  4 siblings, 0 replies; 9+ 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 err_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-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] 9+ messages in thread

* [PATCH v3 4/4] media: renesas: rzg2l-core: Add missing media_entity_cleanup()
  2026-06-22 17:33 [PATCH v3 0/4] media: renesas: Fix missing media_entity_cleanup() Biren Pandya
                   ` (2 preceding siblings ...)
  2026-06-22 17:33 ` [PATCH v3 3/4] media: renesas: rcar-core: " Biren Pandya
@ 2026-06-22 17:33 ` Biren Pandya
  2026-06-22 17:48 ` [PATCH v3 0/4] media: renesas: Fix " Biju Das
  4 siblings, 0 replies; 9+ 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, Laurent Pinchart,
	Tommaso Merciai, Hans Verkuil, Lad Prabhakar, Geert Uytterhoeven,
	Biju Das

The remove function is missing a call to media_entity_cleanup(). Add it.

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	[flat|nested] 9+ messages in thread

* RE: [PATCH v3 0/4] media: renesas: Fix missing media_entity_cleanup()
  2026-06-22 17:33 [PATCH v3 0/4] media: renesas: Fix missing media_entity_cleanup() Biren Pandya
                   ` (3 preceding siblings ...)
  2026-06-22 17:33 ` [PATCH v3 4/4] media: renesas: rzg2l-core: " Biren Pandya
@ 2026-06-22 17:48 ` Biju Das
  2026-06-22 18:06   ` biren pandya
  4 siblings, 1 reply; 9+ messages in thread
From: Biju Das @ 2026-06-22 17:48 UTC (permalink / raw)
  To: Biren Pandya, linux-media
  Cc: jacopo.mondi, laurent.pinchart, kieran.bingham+renesas, mchehab,
	linux-renesas-soc, linux-kernel

Hi Biren Pandya,

> -----Original Message-----
> From: Biren Pandya <birenpandya@gmail.com>
> Sent: 22 June 2026 18:34
> Subject: [PATCH v3 0/4] media: renesas: Fix missing media_entity_cleanup()
> 
> *** BLURB HERE ***

Consider patch series description next time.

Cheers,
Biju

> 
> 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] 9+ messages in thread

* Re: [PATCH v3 0/4] media: renesas: Fix missing media_entity_cleanup()
  2026-06-22 17:48 ` [PATCH v3 0/4] media: renesas: Fix " Biju Das
@ 2026-06-22 18:06   ` biren pandya
  0 siblings, 0 replies; 9+ messages in thread
From: biren pandya @ 2026-06-22 18:06 UTC (permalink / raw)
  To: Biju Das
  Cc: linux-media, jacopo.mondi, laurent.pinchart,
	kieran.bingham+renesas, mchehab, linux-renesas-soc, linux-kernel

On Mon, Jun 22, 2026 at 11:18 PM Biju Das <biju.das.jz@bp.renesas.com> wrote:
>
> Hi Biren Pandya,
>
> > -----Original Message-----
> > From: Biren Pandya <birenpandya@gmail.com>
> > Sent: 22 June 2026 18:34
> > Subject: [PATCH v3 0/4] media: renesas: Fix missing media_entity_cleanup()
> >
> > *** BLURB HERE ***
>
> Consider patch series description next time.
>
> Cheers,
> Biju
>

Hi Biju,

Apologies, I left the git-format-patch placeholder in by mistake — still
learning the tricks of the game; I'll fill in the cover letter next time.
Thanks for the nudge.

For the record: the series adds the missing media_entity_cleanup() calls
to the Renesas media drivers (rcar-csi2, csisp, rcar-vin, rzg2l-cru),
which initialise the entity but never clean it up on probe error paths or
in remove(). It's a no-op today, so no functional change and no backport.

Thanks,
Biren

^ permalink raw reply	[flat|nested] 9+ 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; 9+ 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] 9+ messages in thread

* [PATCH v3 1/4] media: renesas: rcar-csi2: Add missing media_entity_cleanup()
  2026-07-04 17:46 Biren Pandya
@ 2026-07-04 17:46 ` Biren Pandya
  2026-07-08 15:58   ` Jacopo Mondi
  0 siblings, 1 reply; 9+ 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	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-07-08 15:58 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-06-22 17:33 [PATCH v3 0/4] media: renesas: Fix missing media_entity_cleanup() Biren Pandya
2026-06-22 17:33 ` [PATCH v3 1/4] media: renesas: rcar-csi2: Add " Biren Pandya
2026-06-22 17:33 ` [PATCH v3 2/4] media: renesas: csisp: " Biren Pandya
2026-06-22 17:33 ` [PATCH v3 3/4] media: renesas: rcar-core: " Biren Pandya
2026-06-22 17:33 ` [PATCH v3 4/4] media: renesas: rzg2l-core: " Biren Pandya
2026-06-22 17:48 ` [PATCH v3 0/4] media: renesas: Fix " Biju Das
2026-06-22 18:06   ` biren pandya
2026-07-04 17:46 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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox