[PATCH] drm/stm: Fix runtime PM leak in ltdc_crtc_mode_set_nofb()

From: Wentao Liang

Date: Wed Sep 16 2026 - 15:47:55 EST


pm_runtime_get_sync() increments the usage counter even when it fails,
so the early return on a failed resume leaves the counter elevated
forever. Drop it again with pm_runtime_put_noidle() on that path.

Fixes: 35ab6cfbf211 ("drm/stm: support runtime power management")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Wentao Liang <vulab@xxxxxxxxxxx>
---
drivers/gpu/drm/stm/ltdc.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c
index f7e847cfa38f..a95ca3c3df76 100644
--- a/drivers/gpu/drm/stm/ltdc.c
+++ b/drivers/gpu/drm/stm/ltdc.c
@@ -945,6 +945,7 @@ static void ltdc_crtc_mode_set_nofb(struct drm_crtc *crtc)
ret = pm_runtime_get_sync(ddev->dev);
if (ret) {
drm_err(crtc->dev, "Failed to set mode, cannot get sync\n");
+ pm_runtime_put_noidle(ddev->dev);
return;
}
}
--
2.34.1