All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/4] media: renesas: Add missing media_entity_cleanup() calls
@ 2026-06-19 10:22 Biren Pandya
  2026-06-19 10:22 ` [PATCH 1/4] media: renesas: rcar-csi2: Add missing media_entity_cleanup() Biren Pandya
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Biren Pandya @ 2026-06-19 10:22 UTC (permalink / raw)
  To: linux-media; +Cc: 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.

Additionally, this patch series introduces dedicated `err_entity` labels
in the probe error paths of the `rcar` drivers. This ensures that the
teardown logic remains strictly inverse to the initialization logic, 
preventing `media_entity_cleanup()` from being erroneously bypassed or 
called on uninitialized entities when shared error labels are used.

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            | 5 ++++-
 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, 13 insertions(+), 3 deletions(-)

-- 
2.50.1 (Apple Git-155)


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 1/4] media: renesas: rcar-csi2: Add missing media_entity_cleanup()
  2026-06-19 10:22 [PATCH 0/4] media: renesas: Add missing media_entity_cleanup() calls Biren Pandya
@ 2026-06-19 10:22 ` Biren Pandya
  2026-06-19 10:22 ` [PATCH 2/4] media: renesas: csisp: " Biren Pandya
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Biren Pandya @ 2026-06-19 10:22 UTC (permalink / raw)
  To: linux-media
  Cc: Biren Pandya, Niklas Söderlund, Mauro Carvalho Chehab,
	Geert Uytterhoeven, Magnus Damm

The probe error paths and remove function are missing calls to
media_entity_cleanup(). Add them and introduce an err_entity label
to ensure teardown logic properly inverses initialization.

Signed-off-by: Biren Pandya <birenpandya@gmail.com>
---
 drivers/media/platform/renesas/rcar-csi2.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/media/platform/renesas/rcar-csi2.c b/drivers/media/platform/renesas/rcar-csi2.c
index 7305cc4a04cb..9720e0cbd1db 100644
--- a/drivers/media/platform/renesas/rcar-csi2.c
+++ b/drivers/media/platform/renesas/rcar-csi2.c
@@ -2617,7 +2617,7 @@ static int rcsi2_probe(struct platform_device *pdev)
 
 	ret = v4l2_subdev_init_finalize(&priv->subdev);
 	if (ret)
-		goto error_pm_runtime;
+		goto error_entity;
 
 	ret = v4l2_async_register_subdev(&priv->subdev);
 	if (ret < 0)
@@ -2631,6 +2631,8 @@ static int rcsi2_probe(struct platform_device *pdev)
 	v4l2_subdev_cleanup(&priv->subdev);
 error_pm_runtime:
 	pm_runtime_disable(&pdev->dev);
+error_entity:
+	media_entity_cleanup(&priv->subdev.entity);
 error_async:
 	v4l2_async_nf_unregister(&priv->notifier);
 	v4l2_async_nf_cleanup(&priv->notifier);
@@ -2646,6 +2648,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] 11+ messages in thread

* [PATCH 2/4] media: renesas: csisp: Add missing media_entity_cleanup()
  2026-06-19 10:22 [PATCH 0/4] media: renesas: Add missing media_entity_cleanup() calls Biren Pandya
  2026-06-19 10:22 ` [PATCH 1/4] media: renesas: rcar-csi2: Add missing media_entity_cleanup() Biren Pandya
@ 2026-06-19 10:22 ` Biren Pandya
  2026-06-19 10:22 ` [PATCH 3/4] media: renesas: rcar-core: " Biren Pandya
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Biren Pandya @ 2026-06-19 10:22 UTC (permalink / raw)
  To: linux-media
  Cc: Biren Pandya, Niklas Söderlund, Mauro Carvalho Chehab,
	Geert Uytterhoeven, Magnus Damm

The probe error paths and remove function are missing calls to
media_entity_cleanup(). Add them and introduce an error_entity label
to ensure teardown logic properly inverses 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] 11+ messages in thread

* [PATCH 3/4] media: renesas: rcar-core: Add missing media_entity_cleanup()
  2026-06-19 10:22 [PATCH 0/4] media: renesas: Add missing media_entity_cleanup() calls Biren Pandya
  2026-06-19 10:22 ` [PATCH 1/4] media: renesas: rcar-csi2: Add missing media_entity_cleanup() Biren Pandya
  2026-06-19 10:22 ` [PATCH 2/4] media: renesas: csisp: " Biren Pandya
@ 2026-06-19 10:22 ` Biren Pandya
  2026-06-19 10:22 ` [PATCH 4/4] media: renesas: rzg2l-core: " Biren Pandya
  2026-06-19 12:17 ` [PATCH v2 1/4] media: renesas: rcar-csi2: " Biren Pandya
  4 siblings, 0 replies; 11+ messages in thread
From: Biren Pandya @ 2026-06-19 10:22 UTC (permalink / raw)
  To: linux-media
  Cc: Biren Pandya, Niklas Söderlund, Mauro Carvalho Chehab,
	Geert Uytterhoeven, Magnus Damm

The probe error paths and remove function are missing calls to
media_entity_cleanup(). Add them and introduce an err_entity label
to ensure teardown logic properly inverses 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 related	[flat|nested] 11+ messages in thread

* [PATCH 4/4] media: renesas: rzg2l-core: Add missing media_entity_cleanup()
  2026-06-19 10:22 [PATCH 0/4] media: renesas: Add missing media_entity_cleanup() calls Biren Pandya
                   ` (2 preceding siblings ...)
  2026-06-19 10:22 ` [PATCH 3/4] media: renesas: rcar-core: " Biren Pandya
@ 2026-06-19 10:22 ` Biren Pandya
  2026-06-19 12:17 ` [PATCH v2 1/4] media: renesas: rcar-csi2: " Biren Pandya
  4 siblings, 0 replies; 11+ messages in thread
From: Biren Pandya @ 2026-06-19 10:22 UTC (permalink / raw)
  To: linux-media
  Cc: Biren Pandya, Mauro Carvalho Chehab, Laurent Pinchart,
	Hans Verkuil, Tommaso Merciai, Geert Uytterhoeven, Lad Prabhakar,
	Biju Das

The remove function is missing a call to media_entity_cleanup().
Add it to prevent memory leaks if pads are dynamically allocated.

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

* [PATCH v2 1/4] media: renesas: rcar-csi2: Add missing media_entity_cleanup()
  2026-06-19 10:22 [PATCH 0/4] media: renesas: Add missing media_entity_cleanup() calls Biren Pandya
                   ` (3 preceding siblings ...)
  2026-06-19 10:22 ` [PATCH 4/4] media: renesas: rzg2l-core: " Biren Pandya
@ 2026-06-19 12:17 ` Biren Pandya
  2026-06-19 12:17   ` [PATCH v2 2/4] media: renesas: csisp: " Biren Pandya
                     ` (3 more replies)
  4 siblings, 4 replies; 11+ messages in thread
From: Biren Pandya @ 2026-06-19 12:17 UTC (permalink / raw)
  To: linux-media, linux-renesas-soc
  Cc: laurent.pinchart, sakari.ailus, mchehab, Biren Pandya

The probe error paths and remove function are missing calls to
media_entity_cleanup(). Add them and introduce an err_entity label
to ensure teardown logic properly inverses initialization.

Signed-off-by: Biren Pandya <birenpandya@gmail.com>
---
 drivers/media/platform/renesas/rcar-csi2.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/media/platform/renesas/rcar-csi2.c b/drivers/media/platform/renesas/rcar-csi2.c
index 7305cc4a04cb..61d7dfe14688 100644
--- a/drivers/media/platform/renesas/rcar-csi2.c
+++ b/drivers/media/platform/renesas/rcar-csi2.c
@@ -2631,6 +2631,8 @@ static int rcsi2_probe(struct platform_device *pdev)
 	v4l2_subdev_cleanup(&priv->subdev);
 error_pm_runtime:
 	pm_runtime_disable(&pdev->dev);
+error_entity:
+	media_entity_cleanup(&priv->subdev.entity);
 error_async:
 	v4l2_async_nf_unregister(&priv->notifier);
 	v4l2_async_nf_cleanup(&priv->notifier);
@@ -2646,6 +2648,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] 11+ messages in thread

* [PATCH v2 2/4] media: renesas: csisp: Add missing media_entity_cleanup()
  2026-06-19 12:17 ` [PATCH v2 1/4] media: renesas: rcar-csi2: " Biren Pandya
@ 2026-06-19 12:17   ` Biren Pandya
  2026-06-19 12:17   ` [PATCH v2 3/4] media: renesas: rcar-core: " Biren Pandya
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 11+ messages in thread
From: Biren Pandya @ 2026-06-19 12:17 UTC (permalink / raw)
  To: linux-media, linux-renesas-soc
  Cc: laurent.pinchart, sakari.ailus, mchehab, Biren Pandya

The probe error paths and remove function are missing calls to
media_entity_cleanup(). Add them and introduce an error_entity label
to ensure teardown logic properly inverses 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] 11+ messages in thread

* [PATCH v2 3/4] media: renesas: rcar-core: Add missing media_entity_cleanup()
  2026-06-19 12:17 ` [PATCH v2 1/4] media: renesas: rcar-csi2: " Biren Pandya
  2026-06-19 12:17   ` [PATCH v2 2/4] media: renesas: csisp: " Biren Pandya
@ 2026-06-19 12:17   ` Biren Pandya
  2026-06-19 12:17   ` [PATCH v2 4/4] media: renesas: rzg2l-core: " Biren Pandya
  2026-06-22  8:06   ` [PATCH v2 1/4] media: renesas: rcar-csi2: " Jacopo Mondi
  3 siblings, 0 replies; 11+ messages in thread
From: Biren Pandya @ 2026-06-19 12:17 UTC (permalink / raw)
  To: linux-media, linux-renesas-soc
  Cc: laurent.pinchart, sakari.ailus, mchehab, Biren Pandya

The probe error paths and remove function are missing calls to
media_entity_cleanup(). Add them and introduce an err_entity label
to ensure teardown logic properly inverses 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 related	[flat|nested] 11+ messages in thread

* [PATCH v2 4/4] media: renesas: rzg2l-core: Add missing media_entity_cleanup()
  2026-06-19 12:17 ` [PATCH v2 1/4] media: renesas: rcar-csi2: " Biren Pandya
  2026-06-19 12:17   ` [PATCH v2 2/4] media: renesas: csisp: " Biren Pandya
  2026-06-19 12:17   ` [PATCH v2 3/4] media: renesas: rcar-core: " Biren Pandya
@ 2026-06-19 12:17   ` Biren Pandya
  2026-06-22  8:06   ` [PATCH v2 1/4] media: renesas: rcar-csi2: " Jacopo Mondi
  3 siblings, 0 replies; 11+ messages in thread
From: Biren Pandya @ 2026-06-19 12:17 UTC (permalink / raw)
  To: linux-media, linux-renesas-soc
  Cc: laurent.pinchart, sakari.ailus, mchehab, Biren Pandya

The remove function is missing a call to media_entity_cleanup().
Add it to prevent memory leaks if pads are dynamically allocated.

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

* Re: [PATCH v2 1/4] media: renesas: rcar-csi2: Add missing media_entity_cleanup()
  2026-06-19 12:17 ` [PATCH v2 1/4] media: renesas: rcar-csi2: " Biren Pandya
                     ` (2 preceding siblings ...)
  2026-06-19 12:17   ` [PATCH v2 4/4] media: renesas: rzg2l-core: " Biren Pandya
@ 2026-06-22  8:06   ` Jacopo Mondi
  2026-06-22 11:57     ` Laurent Pinchart
  3 siblings, 1 reply; 11+ messages in thread
From: Jacopo Mondi @ 2026-06-22  8:06 UTC (permalink / raw)
  To: Biren Pandya
  Cc: linux-media, linux-renesas-soc, laurent.pinchart, sakari.ailus,
	mchehab

Hi Biren

On Fri, Jun 19, 2026 at 05:47:30PM +0530, Biren Pandya wrote:
> The probe error paths and remove function are missing calls to
> media_entity_cleanup(). Add them and introduce an err_entity label
> to ensure teardown logic properly inverses initialization.
>
> Signed-off-by: Biren Pandya <birenpandya@gmail.com>

Have you at least compiled this patch ?

../drivers/media/platform/renesas/rcar-csi2.c: In function ‘rcsi2_probe’:
../drivers/media/platform/renesas/rcar-csi2.c:2634:1: error: label ‘error_entity’ defined but not used [-Werror=unused-label]
 2634 | error_entity:
      | ^~~~~~~~~~~~

Also, don't send v(n+1) in reply to v(n). Each version of a series
goes in its own thread, with a proper cover letter and changelog.

I suggest to use b4.

> ---
>  drivers/media/platform/renesas/rcar-csi2.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/media/platform/renesas/rcar-csi2.c b/drivers/media/platform/renesas/rcar-csi2.c
> index 7305cc4a04cb..61d7dfe14688 100644
> --- a/drivers/media/platform/renesas/rcar-csi2.c
> +++ b/drivers/media/platform/renesas/rcar-csi2.c
> @@ -2631,6 +2631,8 @@ static int rcsi2_probe(struct platform_device *pdev)
>  	v4l2_subdev_cleanup(&priv->subdev);
>  error_pm_runtime:
>  	pm_runtime_disable(&pdev->dev);
> +error_entity:
> +	media_entity_cleanup(&priv->subdev.entity);
>  error_async:
>  	v4l2_async_nf_unregister(&priv->notifier);
>  	v4l2_async_nf_cleanup(&priv->notifier);
> @@ -2646,6 +2648,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] 11+ messages in thread

* Re: [PATCH v2 1/4] media: renesas: rcar-csi2: Add missing media_entity_cleanup()
  2026-06-22  8:06   ` [PATCH v2 1/4] media: renesas: rcar-csi2: " Jacopo Mondi
@ 2026-06-22 11:57     ` Laurent Pinchart
  0 siblings, 0 replies; 11+ messages in thread
From: Laurent Pinchart @ 2026-06-22 11:57 UTC (permalink / raw)
  To: Jacopo Mondi
  Cc: Biren Pandya, linux-media, linux-renesas-soc, sakari.ailus,
	mchehab

On Mon, Jun 22, 2026 at 10:06:54AM +0200, Jacopo Mondi wrote:
> Hi Biren
> 
> On Fri, Jun 19, 2026 at 05:47:30PM +0530, Biren Pandya wrote:
> > The probe error paths and remove function are missing calls to
> > media_entity_cleanup(). Add them and introduce an err_entity label
> > to ensure teardown logic properly inverses initialization.
> >
> > Signed-off-by: Biren Pandya <birenpandya@gmail.com>
> 
> Have you at least compiled this patch ?
> 
> ../drivers/media/platform/renesas/rcar-csi2.c: In function ‘rcsi2_probe’:
> ../drivers/media/platform/renesas/rcar-csi2.c:2634:1: error: label ‘error_entity’ defined but not used [-Werror=unused-label]
>  2634 | error_entity:
>       | ^~~~~~~~~~~~
> 
> Also, don't send v(n+1) in reply to v(n). Each version of a series
> goes in its own thread, with a proper cover letter and changelog.
> 
> I suggest to use b4.

Also, while it's OK to not send all patches of a series to everybody,
the cover letter must be send to all recipients.

> > ---
> >  drivers/media/platform/renesas/rcar-csi2.c | 3 +++
> >  1 file changed, 3 insertions(+)
> >
> > diff --git a/drivers/media/platform/renesas/rcar-csi2.c b/drivers/media/platform/renesas/rcar-csi2.c
> > index 7305cc4a04cb..61d7dfe14688 100644
> > --- a/drivers/media/platform/renesas/rcar-csi2.c
> > +++ b/drivers/media/platform/renesas/rcar-csi2.c
> > @@ -2631,6 +2631,8 @@ static int rcsi2_probe(struct platform_device *pdev)
> >  	v4l2_subdev_cleanup(&priv->subdev);
> >  error_pm_runtime:
> >  	pm_runtime_disable(&pdev->dev);
> > +error_entity:
> > +	media_entity_cleanup(&priv->subdev.entity);
> >  error_async:
> >  	v4l2_async_nf_unregister(&priv->notifier);
> >  	v4l2_async_nf_cleanup(&priv->notifier);
> > @@ -2646,6 +2648,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);
> >  }

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2026-06-22 11:57 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-19 10:22 [PATCH 0/4] media: renesas: Add missing media_entity_cleanup() calls Biren Pandya
2026-06-19 10:22 ` [PATCH 1/4] media: renesas: rcar-csi2: Add missing media_entity_cleanup() Biren Pandya
2026-06-19 10:22 ` [PATCH 2/4] media: renesas: csisp: " Biren Pandya
2026-06-19 10:22 ` [PATCH 3/4] media: renesas: rcar-core: " Biren Pandya
2026-06-19 10:22 ` [PATCH 4/4] media: renesas: rzg2l-core: " Biren Pandya
2026-06-19 12:17 ` [PATCH v2 1/4] media: renesas: rcar-csi2: " Biren Pandya
2026-06-19 12:17   ` [PATCH v2 2/4] media: renesas: csisp: " Biren Pandya
2026-06-19 12:17   ` [PATCH v2 3/4] media: renesas: rcar-core: " Biren Pandya
2026-06-19 12:17   ` [PATCH v2 4/4] media: renesas: rzg2l-core: " Biren Pandya
2026-06-22  8:06   ` [PATCH v2 1/4] media: renesas: rcar-csi2: " Jacopo Mondi
2026-06-22 11:57     ` Laurent Pinchart

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.