[PATCH] drm/tve200: Fix probe cleanup after register failure

Myeonghun Pak posted 1 patch 1 month, 3 weeks ago
drivers/gpu/drm/tve200/tve200_drv.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
[PATCH] drm/tve200: Fix probe cleanup after register failure
Posted by Myeonghun Pak 1 month, 3 weeks ago
tve200_modeset_init() creates a panel bridge and initializes the DRM
mode config before tve200_probe() registers the DRM device. If
drm_dev_register() fails, probe returns an error and the driver's remove
callback is not called, so those modeset resources are left behind.

Unwind the panel bridge and mode config on that failure path before
disabling the clock and dropping the DRM device reference.

Signed-off-by: Myeonghun Pak <mhun512@gmail.com>
---
 drivers/gpu/drm/tve200/tve200_drv.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/tve200/tve200_drv.c b/drivers/gpu/drm/tve200/tve200_drv.c
index a048e37f1c..562f3f1181 100644
--- a/drivers/gpu/drm/tve200/tve200_drv.c
+++ b/drivers/gpu/drm/tve200/tve200_drv.c
@@ -221,12 +221,16 @@ static int tve200_probe(struct platform_device *pdev)
 
 	ret = drm_dev_register(drm, 0);
 	if (ret < 0)
-		goto clk_disable;
+		goto mode_config_cleanup;
 
 	drm_client_setup_with_fourcc(drm, DRM_FORMAT_RGB565);
 
 	return 0;
 
+mode_config_cleanup:
+	if (priv->panel)
+		drm_panel_bridge_remove(priv->bridge);
+	drm_mode_config_cleanup(drm);
 clk_disable:
 	clk_disable_unprepare(priv->pclk);
 dev_unref:
-- 
2.50.1
Re: [PATCH] drm/tve200: Fix probe cleanup after register failure
Posted by Linus Walleij 1 month, 2 weeks ago
On Fri, Apr 24, 2026 at 2:41 PM Myeonghun Pak <mhun512@gmail.com> wrote:

> tve200_modeset_init() creates a panel bridge and initializes the DRM
> mode config before tve200_probe() registers the DRM device. If
> drm_dev_register() fails, probe returns an error and the driver's remove
> callback is not called, so those modeset resources are left behind.
>
> Unwind the panel bridge and mode config on that failure path before
> disabling the clock and dropping the DRM device reference.
>
> Signed-off-by: Myeonghun Pak <mhun512@gmail.com>

Patch applied to drm-misc-next.

Yours,
Linus Walleij