On Thu Dec 4 17:41:51 2025 +0800, Xulin Sun wrote:
> Replace pm_runtime_put_sync() with pm_runtime_dont_use_autosuspend() in
> the remove path to properly pair with pm_runtime_use_autosuspend() from
> probe. This allows pm_runtime_disable() to handle reference count cleanup
> correctly regardless of current suspend state.
> 
> The driver calls pm_runtime_put_sync() unconditionally in remove, but the
> device may already be suspended due to autosuspend configured in probe.
> When autosuspend has already suspended the device, the usage count is 0,
> and pm_runtime_put_sync() decrements it to -1.
> 
> This causes the following warning on module unload:
> 
>   ------------[ cut here ]------------
>   WARNING: CPU: 1 PID: 963 at kernel/kthread.c:1430
>     kthread_destroy_worker+0x84/0x98
>   ...
>   vdec 30210000.video-codec: Runtime PM usage count underflow!
> 
> Fixes: 9707a6254a8a ("media: chips-media: wave5: Add the v4l2 layer")
> Cc: [email protected]
> Signed-off-by: Xulin Sun <[email protected]>
> Reviewed-by: Nicolas Dufresne <[email protected]>
> Signed-off-by: Nicolas Dufresne <[email protected]>
> Signed-off-by: Hans Verkuil <[email protected]>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/platform/chips-media/wave5/wave5-vpu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

---

diff --git a/drivers/media/platform/chips-media/wave5/wave5-vpu.c 
b/drivers/media/platform/chips-media/wave5/wave5-vpu.c
index e1715d3f43b0..23aa3ab51a0e 100644
--- a/drivers/media/platform/chips-media/wave5/wave5-vpu.c
+++ b/drivers/media/platform/chips-media/wave5/wave5-vpu.c
@@ -356,7 +356,7 @@ static void wave5_vpu_remove(struct platform_device *pdev)
                hrtimer_cancel(&dev->hrtimer);
        }
 
-       pm_runtime_put_sync(&pdev->dev);
+       pm_runtime_dont_use_autosuspend(&pdev->dev);
        pm_runtime_disable(&pdev->dev);
 
        mutex_destroy(&dev->dev_lock);
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to