[PATCH] drm/panfrost: Fix runtime PM leak in panfrost_remove()

From: Wentao Liang

Date: Wed Sep 16 2026 - 14:14:46 EST


The pm_runtime_get_sync() call keeps the device awake while the
hardware is torn down, but the usage counter it takes is never
dropped, so the count is left permanently elevated once runtime PM
has been disabled. Drop it with pm_runtime_put_noidle() once the
device has been marked suspended.

Fixes: f3ba91228e8e ("drm/panfrost: Add initial panfrost driver")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Wentao Liang <vulab@xxxxxxxxxxx>
---
drivers/gpu/drm/panfrost/panfrost_drv.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/panfrost/panfrost_drv.c b/drivers/gpu/drm/panfrost/panfrost_drv.c
index 074c0995ddc2..6d047ca7e208 100644
--- a/drivers/gpu/drm/panfrost/panfrost_drv.c
+++ b/drivers/gpu/drm/panfrost/panfrost_drv.c
@@ -1029,6 +1029,7 @@ static void panfrost_remove(struct platform_device *pdev)
pm_runtime_disable(pfdev->base.dev);
panfrost_device_fini(pfdev);
pm_runtime_set_suspended(pfdev->base.dev);
+ pm_runtime_put_noidle(pfdev->base.dev);
}

static ssize_t profiling_show(struct device *dev,
--
2.34.1