All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1] drm/panel: lg-sw43408: remove panel on DSI attach failure
       [not found] <Casey Connolly <casey.connolly@linaro.org>
@ 2026-04-20  7:38 ` Myeonghun Pak
  2026-04-22 19:24   ` Dmitry Baryshkov
  0 siblings, 1 reply; 3+ messages in thread
From: Myeonghun Pak @ 2026-04-20  7:38 UTC (permalink / raw)
  To: Sumit Semwal, Casey Connolly
  Cc: Myeonghun Pak, Neil Armstrong, Jessica Zhang, Maarten Lankhorst,
	Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
	dri-devel, linux-kernel, Ijae Kim, Taegyu Kim, Yuho Choi

The probe path registers the panel by calling drm_panel_add() in
sw43408_add(), then returns the result of mipi_dsi_attach() directly
from sw43408_probe().

If mipi_dsi_attach() fails, the probe path exits without calling
drm_panel_remove(), leaving the panel registered in the global DRM
panel list. The .remove() callback does not cover this case because
it is only invoked after a successful probe.

Fix this by unwinding the panel registration with drm_panel_remove()
when mipi_dsi_attach() fails.

Co-developed-by: Ijae Kim <ae878000@gmail.com>
Signed-off-by: Ijae Kim <ae878000@gmail.com>
Co-developed-by: Taegyu Kim <tmk5904@psu.edu>
Signed-off-by: Taegyu Kim <tmk5904@psu.edu>
Co-developed-by: Yuho Choi <dbgh9129@gmail.com>
Signed-off-by: Yuho Choi <dbgh9129@gmail.com>
Signed-off-by: Myeonghun Pak <mhun512@gmail.com>
---
 drivers/gpu/drm/panel/panel-lg-sw43408.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/panel/panel-lg-sw43408.c b/drivers/gpu/drm/panel/panel-lg-sw43408.c
index 293826c50..0eb78bc90 100644
--- a/drivers/gpu/drm/panel/panel-lg-sw43408.c
+++ b/drivers/gpu/drm/panel/panel-lg-sw43408.c
@@ -294,7 +294,13 @@ static int sw43408_probe(struct mipi_dsi_device *dsi)
 
 	dsi->dsc = &ctx->dsc;
 
-	return mipi_dsi_attach(dsi);
+	ret = mipi_dsi_attach(dsi);
+	if (ret < 0) {
+		drm_panel_remove(&ctx->base);
+		return ret;
+	}
+
+	return 0;
 }
 
 static void sw43408_remove(struct mipi_dsi_device *dsi)
-- 

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

* Re: [PATCH v1] drm/panel: lg-sw43408: remove panel on DSI attach failure
  2026-04-20  7:38 ` [PATCH v1] drm/panel: lg-sw43408: remove panel on DSI attach failure Myeonghun Pak
@ 2026-04-22 19:24   ` Dmitry Baryshkov
  2026-04-23 11:25     ` Myeonghun Pak
  0 siblings, 1 reply; 3+ messages in thread
From: Dmitry Baryshkov @ 2026-04-22 19:24 UTC (permalink / raw)
  To: Myeonghun Pak
  Cc: Sumit Semwal, Casey Connolly, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, dri-devel, linux-kernel, Ijae Kim, Taegyu Kim,
	Yuho Choi

On Mon, Apr 20, 2026 at 04:38:27PM +0900, Myeonghun Pak wrote:
> The probe path registers the panel by calling drm_panel_add() in
> sw43408_add(), then returns the result of mipi_dsi_attach() directly
> from sw43408_probe().
> 
> If mipi_dsi_attach() fails, the probe path exits without calling
> drm_panel_remove(), leaving the panel registered in the global DRM
> panel list. The .remove() callback does not cover this case because
> it is only invoked after a successful probe.
> 
> Fix this by unwinding the panel registration with drm_panel_remove()
> when mipi_dsi_attach() fails.
> 
> Co-developed-by: Ijae Kim <ae878000@gmail.com>
> Signed-off-by: Ijae Kim <ae878000@gmail.com>
> Co-developed-by: Taegyu Kim <tmk5904@psu.edu>
> Signed-off-by: Taegyu Kim <tmk5904@psu.edu>
> Co-developed-by: Yuho Choi <dbgh9129@gmail.com>
> Signed-off-by: Yuho Choi <dbgh9129@gmail.com>
> Signed-off-by: Myeonghun Pak <mhun512@gmail.com>
> ---
>  drivers/gpu/drm/panel/panel-lg-sw43408.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
> 

You can also switch to devm_drm_panel_add().

-- 
With best wishes
Dmitry

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

* Re: [PATCH v1] drm/panel: lg-sw43408: remove panel on DSI attach failure
  2026-04-22 19:24   ` Dmitry Baryshkov
@ 2026-04-23 11:25     ` Myeonghun Pak
  0 siblings, 0 replies; 3+ messages in thread
From: Myeonghun Pak @ 2026-04-23 11:25 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Sumit Semwal, Casey Connolly, Neil Armstrong, Jessica Zhang,
	Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann, David Airlie,
	Simona Vetter, dri-devel, linux-kernel, Ijae Kim, Taegyu Kim,
	Yuho Choi

[-- Attachment #1: Type: text/plain, Size: 1487 bytes --]

Dmitry, Understood. I will apply devm_drm_panel_add() to this patch as well
in the next version, which will be submitted as part of the series. Thanks,
Myeonghun Pak

2026년 4월 23일 (목) 오전 4:24, Dmitry Baryshkov <
dmitry.baryshkov@oss.qualcomm.com>님이 작성:

> On Mon, Apr 20, 2026 at 04:38:27PM +0900, Myeonghun Pak wrote:
> > The probe path registers the panel by calling drm_panel_add() in
> > sw43408_add(), then returns the result of mipi_dsi_attach() directly
> > from sw43408_probe().
> >
> > If mipi_dsi_attach() fails, the probe path exits without calling
> > drm_panel_remove(), leaving the panel registered in the global DRM
> > panel list. The .remove() callback does not cover this case because
> > it is only invoked after a successful probe.
> >
> > Fix this by unwinding the panel registration with drm_panel_remove()
> > when mipi_dsi_attach() fails.
> >
> > Co-developed-by: Ijae Kim <ae878000@gmail.com>
> > Signed-off-by: Ijae Kim <ae878000@gmail.com>
> > Co-developed-by: Taegyu Kim <tmk5904@psu.edu>
> > Signed-off-by: Taegyu Kim <tmk5904@psu.edu>
> > Co-developed-by: Yuho Choi <dbgh9129@gmail.com>
> > Signed-off-by: Yuho Choi <dbgh9129@gmail.com>
> > Signed-off-by: Myeonghun Pak <mhun512@gmail.com>
> > ---
> >  drivers/gpu/drm/panel/panel-lg-sw43408.c | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
> >
>
> You can also switch to devm_drm_panel_add().
>
> --
> With best wishes
> Dmitry
>

[-- Attachment #2: Type: text/html, Size: 2539 bytes --]

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

end of thread, other threads:[~2026-04-24  7:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <Casey Connolly <casey.connolly@linaro.org>
2026-04-20  7:38 ` [PATCH v1] drm/panel: lg-sw43408: remove panel on DSI attach failure Myeonghun Pak
2026-04-22 19:24   ` Dmitry Baryshkov
2026-04-23 11:25     ` Myeonghun Pak

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.