diff options
| author | Mark Brown <broonie@kernel.org> | 2025-12-18 08:34:00 +0000 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2025-12-18 08:34:00 +0000 |
| commit | 9d651a6c62832ac8d1c445f5fa8c61a03ebfb649 (patch) | |
| tree | c6993d54c221fc726d9a9307e077a82c502ac99d | |
| parent | 8c04b77f87e6e321ae6acd28ce1de5553916153f (diff) | |
| parent | 1889dd2081975ce1f6275b06cdebaa8d154847a9 (diff) | |
spi: cadence-quadspi: Fix probe error path and logging
Merge series from Anurag Dutta <a-dutta@ti.com>:
This series addresses issues in the cadence-quadspi driver's probe
error path:
Patch 1 fixes a clock disable imbalance that occurs when probe fails
after runtime PM is enabled, particularly when DMA request returns
-EPROBE_DEFER.
Patch 2 adds proper error logging for DMA request failures using
dev_err_probe() to improve diagnostics and handle probe deferral
appropriately.
logs : https://gist.github.com/anuragdutta731/59925cd11a50913b7128c88cd5394db7
| -rw-r--r-- | drivers/spi/spi-cadence-quadspi.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/spi/spi-cadence-quadspi.c b/drivers/spi/spi-cadence-quadspi.c index af6d050da1c8..f8823e83a622 100644 --- a/drivers/spi/spi-cadence-quadspi.c +++ b/drivers/spi/spi-cadence-quadspi.c @@ -2001,8 +2001,10 @@ static int cqspi_probe(struct platform_device *pdev) if (cqspi->use_direct_mode) { ret = cqspi_request_mmap_dma(cqspi); - if (ret == -EPROBE_DEFER) + if (ret == -EPROBE_DEFER) { + dev_err_probe(&pdev->dev, ret, "Failed to request mmap DMA\n"); goto probe_setup_failed; + } } ret = spi_register_controller(host); @@ -2024,7 +2026,9 @@ probe_setup_failed: probe_reset_failed: if (cqspi->is_jh7110) cqspi_jh7110_disable_clk(pdev, cqspi); - clk_disable_unprepare(cqspi->clk); + + if (pm_runtime_get_sync(&pdev->dev) >= 0) + clk_disable_unprepare(cqspi->clk); probe_clk_failed: return ret; } |
