drm/panel: kingdisplay-kd097d04: Delete panel on attach() failure

If we fail to attach (e.g., because 1 of 2 dual-DSI controllers aren't
ready), we leave a dangling drm_panel reference to freed memory. Clean
that up on failure.

Fixes: 2a994cbed6 ("drm/panel: Add Kingdisplay KD097D04 panel driver")
Signed-off-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20210923173336.1.Icb4d9dbc1817f4e826361a4f1cea7461541668f0@changeid
This commit is contained in:
Brian Norris 2021-09-23 17:33:53 -07:00 committed by Sam Ravnborg
parent 437c3d8759
commit 5f31dbeae8

View File

@ -406,7 +406,13 @@ static int kingdisplay_panel_probe(struct mipi_dsi_device *dsi)
if (err < 0)
return err;
return mipi_dsi_attach(dsi);
err = mipi_dsi_attach(dsi);
if (err < 0) {
kingdisplay_panel_del(kingdisplay);
return err;
}
return 0;
}
static int kingdisplay_panel_remove(struct mipi_dsi_device *dsi)