On Tue, Aug 18, 2026 at 12:40:27PM +0200, Konrad Dybcio wrote:
> 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: [email protected]
> > Signed-off-by: Guangshuo Li <[email protected]>
> > ---
> 
> I think we can use devm_pm_runtime_enable() instead, which will take
> care of cleaning up both the autosuspend and runpm halves

Not really, beacause the driver's group device is DPU / MDP4 / MDP5
(in case of a merged display+GPU), so the patch seems to be correct.


Reviewed-by: Dmitry Baryshkov <[email protected]>

-- 
With best wishes
Dmitry

Reply via email to