Re: [PATCH] spi: cadence-qspi: Fix runtime PM imbalance in probe

From: Ali Tariq

Date: Thu Dec 04 2025 - 06:21:45 EST


Thanks for the merge. Recently, there was a patch which removed the
redundant pm_runtime_mark_last_busy() call:

https://lore.kernel.org/linux-kernel/20251203181921.97171-1-akifejaz40@xxxxxxxxx/

The patch removes pm_runtime_mark_last_busy() from the probe function,
as pm_runtime_put_autosuspend() already handles this internally.

Best Regards,
Ali

On 12/3/25 1:50 AM, Andy Shevchenko wrote:
On Sun, Nov 30, 2025 at 09:12:51AM +0000, Ali Tariq wrote:
The probe function incorrectly calls pm_runtime_put_autosuspend()
twice in succession at the end of successful probe, dropping two
runtime PM references while only one was acquired earlier with
pm_runtime_get_sync(). This causes a usage count underflow:

cadence-qspi 13010000.spi: Runtime PM usage count underflow!

Remove the first redundant pm_runtime_put_autosuspend() call to
balance the reference count.

Tested on StarFive VisionFive 2 v1.2A board.

...

if (!(ddata && (ddata->quirks & CQSPI_DISABLE_RUNTIME_PM))) {
- pm_runtime_put_autosuspend(dev);
pm_runtime_mark_last_busy(dev);

This one — pm_runtime_mark_last_busy() — also may be removed as it's integrated
into the _put_auutosuspend().

pm_runtime_put_autosuspend(dev);
}