Re: [PATCH] i2c: qcom-cci: fix autosuspend cleanup
From: Andi Shyti
Date: Thu Aug 27 2026 - 20:57:00 EST
Guangshuo,
On Wed, Aug 12, 2026 at 05:44:25PM +0800, Guangshuo Li wrote:
> cci_probe() calls pm_runtime_use_autosuspend(), but the remove path
> does not call the matching pm_runtime_dont_use_autosuspend() before
> disabling runtime PM.
>
> 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 undoing the autosuspend setting during
> teardown, this reference is not dropped and usage_count remains
> unbalanced.
>
> Use devm_pm_runtime_set_active_enabled() to manage the runtime PM
> state. Its managed cleanup disables autosuspend and runtime PM and
> restores the suspended state on probe failure and driver removal.
> Remove the now redundant manual runtime PM cleanup.
>
> This issue was found by manual code inspection.
>
> Fixes: e517526195de ("i2c: Add Qualcomm CCI I2C driver")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Guangshuo Li <lgs201920130244@xxxxxxxxx>
Although Krzysztof's comment is very valid, I can't ignore the
reviews that have already been done. I pushed this patch to
i2c/i2c-fixes.
Thanks,
Andi