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 <ma...@denx.de> --- Cc: Guido Günther <a...@sigxcpu.org> Cc: Jagan Teki <ja...@amarulasolutions.com> Cc: Laurent Pinchart <laurent.pinch...@ideasonboard.com> Cc: Linus Walleij <linus.wall...@linaro.org> Cc: Sam Ravnborg <s...@ravnborg.org> Cc: Thierry Reding <thierry.red...@gmail.com> --- drivers/gpu/drm/panel/panel-sitronix-st7701.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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) -- 2.35.1