aboutsummaryrefslogtreecommitdiffstats
path: root/lib/mpi/mpi-mod.c
diff options
context:
space:
mode:
authorSiddharth Vadapalli <[email protected]>2025-11-19 15:23:53 +0000
committerMark Brown <[email protected]>2025-11-20 00:10:51 +0000
commit295fe8406a357bc0abb901a21d1a554fd4dd1d05 (patch)
treede9e53d4fc510eeef619bbe8e7f390accf1ba2c3 /lib/mpi/mpi-mod.c
parentspi: bcm63xx: fix premature CS deassertion on RX-only transactions (diff)
downloadkernel-295fe8406a357bc0abb901a21d1a554fd4dd1d05.tar.gz
kernel-295fe8406a357bc0abb901a21d1a554fd4dd1d05.zip
spi: cadence-quadspi: Fix cqspi_probe() error handling for runtime pm
Commit f1eb4e792bb1 ("spi: spi-cadence-quadspi: Enable pm runtime earlier to avoid imbalance") relocated code but missed updating the error handling path associated with it. Prior to the relocation, runtime pm was enabled after the code-block associated with 'cqspi_request_mmap_dma()', due to which, the error handling for the same didn't require invoking 'pm_runtime_disable()'. Post refactoring, runtime pm has been enabled before the code-block and when an error is encountered, jumping to 'probe_dma_failed' doesn't invoke 'pm_runtime_disable()'. This leads to a race condition wherein 'cqspi_runtime_suspend()' is invoked while the error handling path executes in parallel. The resulting error is the following: clk:103:0 already disabled WARNING: drivers/clk/clk.c:1188 at clk_core_disable+0x80/0xa0, CPU#1: kworker/u8:0/12 [TRIMMED] pstate: 600000c5 (nZCv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : clk_core_disable+0x80/0xa0 lr : clk_core_disable+0x80/0xa0 [TRIMMED] Call trace: clk_core_disable+0x80/0xa0 (P) clk_core_disable_lock+0x88/0x10c clk_disable+0x24/0x30 cqspi_probe+0xa3c/0xae8 [TRIMMED] The error is due to the second invocation of 'clk_disable_unprepare()' on 'cqspi->clk' in the error handling within 'cqspi_probe()', with the first invocation being within 'cqspi_runtime_suspend()'. Fix this by correcting the error handling. Fixes: f1eb4e792bb1 ("spi: spi-cadence-quadspi: Enable pm runtime earlier to avoid imbalance") Signed-off-by: Siddharth Vadapalli <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Mark Brown <[email protected]>
Diffstat (limited to 'lib/mpi/mpi-mod.c')
0 files changed, 0 insertions, 0 deletions