All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/mali-dp: Fix runtime PM leak in malidp_crtc_atomic_enable()
@ 2026-09-16 10:21 Wentao Liang
  2026-09-16 10:29 ` sashiko-bot
  2026-09-16 12:47 ` Liviu Dudau
  0 siblings, 2 replies; 3+ messages in thread
From: Wentao Liang @ 2026-09-16 10:21 UTC (permalink / raw)
  To: airlied
  Cc: dri-devel, linux-kernel, liviu.dudau, maarten.lankhorst, mripard,
	simona, tzimmermann, Wentao Liang, stable

malidp_crtc_atomic_enable() resumes the device with
pm_runtime_get_sync() and returns early when the resume fails.  The
runtime PM usage count is incremented by pm_runtime_get_sync() even
when the resume fails, so returning without dropping the reference
leaks it and, once the error has been hit, prevents the device from
ever suspending again.

Drop the runtime PM reference with pm_runtime_put_noidle() on the
resume failure path before returning.

Fixes: 85f6421889ec ("drm: mali-dp: Enable power management for the device.")
Cc: stable@vger.kernel.org
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
---
 drivers/gpu/drm/arm/malidp_crtc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/arm/malidp_crtc.c b/drivers/gpu/drm/arm/malidp_crtc.c
index 18e6157b1047..a2c6e536c55d 100644
--- a/drivers/gpu/drm/arm/malidp_crtc.c
+++ b/drivers/gpu/drm/arm/malidp_crtc.c
@@ -56,6 +56,7 @@ static void malidp_crtc_atomic_enable(struct drm_crtc *crtc,
 
 	if (err < 0) {
 		DRM_DEBUG_DRIVER("Failed to enable runtime power management: %d\n", err);
+		pm_runtime_put_noidle(crtc->dev->dev);
 		return;
 	}
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-09-16 12:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-16 10:21 [PATCH] drm/mali-dp: Fix runtime PM leak in malidp_crtc_atomic_enable() Wentao Liang
2026-09-16 10:29 ` sashiko-bot
2026-09-16 12:47 ` Liviu Dudau

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.