diff mbox series

drm/panel/panel-sitronix-st7701: Remove panel on DSI attach failure

Message ID 20221014231106.468063-1-marex@denx.de (mailing list archive)
State New, archived
Headers show
Series drm/panel/panel-sitronix-st7701: Remove panel on DSI attach failure | expand

Commit Message

Marek Vasut Oct. 14, 2022, 11:11 p.m. UTC
In case mipi_dsi_attach() fails, call drm_panel_remove() to avoid memory leak.

Fixes: 849b2e3ff9698 ("drm/panel: Add Sitronix ST7701 panel driver")
Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Guido Günther <agx@sigxcpu.org>
Cc: Jagan Teki <jagan@amarulasolutions.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Thierry Reding <thierry.reding@gmail.com>
---
 drivers/gpu/drm/panel/panel-sitronix-st7701.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

Comments

Linus Walleij Nov. 1, 2022, 10:13 p.m. UTC | #1
On Sat, Oct 15, 2022 at 1:11 AM Marek Vasut <marex@denx.de> wrote:

> In case mipi_dsi_attach() fails, call drm_panel_remove() to avoid memory leak.
>
> Fixes: 849b2e3ff9698 ("drm/panel: Add Sitronix ST7701 panel driver")
> Signed-off-by: Marek Vasut <marex@denx.de>

Patch applied, fixed up some complaints from checkpatch.

Yours,
Linus Walleij
diff mbox series

Patch

diff --git a/drivers/gpu/drm/panel/panel-sitronix-st7701.c b/drivers/gpu/drm/panel/panel-sitronix-st7701.c
index baeb952b6e244..0b8cf65172ff7 100644
--- a/drivers/gpu/drm/panel/panel-sitronix-st7701.c
+++ b/drivers/gpu/drm/panel/panel-sitronix-st7701.c
@@ -754,7 +754,15 @@  static int st7701_dsi_probe(struct mipi_dsi_device *dsi)
 	st7701->dsi = dsi;
 	st7701->desc = desc;
 
-	return mipi_dsi_attach(dsi);
+	ret = mipi_dsi_attach(dsi);
+	if (ret)
+		goto err_attach;
+
+	return 0;
+
+err_attach:
+	drm_panel_remove(&st7701->panel);
+	return ret;
 }
 
 static void st7701_dsi_remove(struct mipi_dsi_device *dsi)