Re: [PATCH] spi: cadence-quadspi: Fix clock enable underflows due to runtime PM
From: Mark Brown
Date: Fri Dec 05 2025 - 08:25:24 EST
On Fri, Dec 05, 2025 at 06:28:06PM +0530, Dutta, Anurag wrote:
> Hi Mark and Nishanth The below seems to work for me on j721e. Let me know
> your thoughts.
> Also, the error actually comes from :
> if (cqspi->use_direct_mode) {
> ret = cqspi_request_mmap_dma(cqspi);
> if (ret == -EPROBE_DEFER)
> goto probe_setup_failed;
> }
> And not from flash_setup().
Great, thanks for confirming. We should probably ensure that has some
logging...
> @@ -2024,7 +2024,7 @@ static int cqspi_probe(struct platform_device *pdev)
> probe_reset_failed:
> if (cqspi->is_jh7110)
> cqspi_jh7110_disable_clk(pdev, cqspi);
> - clk_disable_unprepare(cqspi->clk);
> + pm_runtime_force_suspend(dev);
> probe_clk_failed:
The trouble with that is that in the !CONFIG_PM case
pm_runtime_force_suspend() is defined as:
static inline int pm_runtime_force_suspend(struct device *dev) { return 0; }
so we'll leak the clock enable. If we could just require runtime PM
this would be an awful lot easier to deal with.
Attachment:
signature.asc
Description: PGP signature