summaryrefslogtreecommitdiff
path: root/rust/zerocopy/src/pointer
diff options
context:
space:
mode:
authorFrederic Konrad <fkonrad@amd.com>2026-11-04 12:49:58 +0530
committerMark Brown <broonie@kernel.org>2026-11-04 23:00:32 +0000
commit059518f775baecc9803fc97787bd0b17558f8047 (patch)
tree477808ed0f11eead1aba4e32e436ad84c8760752 /rust/zerocopy/src/pointer
parent5072a9fae45a043cad80f74f4f19fc98803630ab (diff)
spi: cadence-quadspi: Fix race between DMA completion and transfer start
In cqspi_versal_indirect_read_dma(), the DMA transfer is started by writing CQSPI_REG_INDIRECTRD_START_MASK to the indirect read control register. Under certain timing conditions, the DMA completion interrupt may be triggered and complete the transfer before the completion structure is reinitialized. This creates a race where the completion event is lost, causing wait_for_completion_timeout() to time out even though the transfer has already completed, resulting in errors such as: spi-nor spi0.0: CS0: operation failed with -110 Fix this by reinitializing the completion structure before starting the DMA transfer, ensuring that any completion event generated after the transfer begins is correctly observed. Fixes: 1a6f854f7daa ("spi: cadence-quadspi: Add Xilinx Versal external DMA support") Signed-off-by: Frederic Konrad <fkonrad@amd.com> Signed-off-by: Srikanth Boyapally <srikanth.boyapally@amd.com> Signed-off-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com> Link: https://patch.msgid.link/20261104071958.2405117-1-radhey.shyam.pandey@amd.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'rust/zerocopy/src/pointer')
0 files changed, 0 insertions, 0 deletions