Re: [PATCH] drm/msm/adreno: fix autosuspend cleanup during teardown

From: Konrad Dybcio

Date: Tue Aug 18 2026 - 06:44:40 EST


On 8/8/26 3:16 PM, Guangshuo Li wrote:
> adreno_gpu_init() calls pm_runtime_use_autosuspend(), but
> adreno_gpu_cleanup() does not call the matching
> pm_runtime_dont_use_autosuspend() during teardown.
>
> If the autosuspend delay is set to a negative value while autosuspend
> is enabled, the runtime PM core increments usage_count to prevent
> runtime suspend. Without calling pm_runtime_dont_use_autosuspend()
> during teardown, this reference is not dropped and usage_count remains
> unbalanced.
>
> The documentation for pm_runtime_use_autosuspend() also notes that it
> is important to undo it with pm_runtime_dont_use_autosuspend() at
> driver exit time, unless runtime PM was initially enabled with
> devm_pm_runtime_enable().
>
> Add the missing pm_runtime_dont_use_autosuspend() call to
> adreno_gpu_cleanup().
>
> This issue was found by manual code inspection.
>
> Fixes: eeb754746b14 ("drm/msm/gpu: use pm-runtime")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Guangshuo Li <lgs201920130244@xxxxxxxxx>
> ---

I think we can use devm_pm_runtime_enable() instead, which will take
care of cleaning up both the autosuspend and runpm halves

Konrad