summaryrefslogtreecommitdiffstats
path: root/scripts/check-function-names.sh
diff options
context:
space:
mode:
authorAlex Bereza <alex@bereza.email>2026-08-18 09:36:29 +0200
committerVinod Koul <vkoul@kernel.org>2026-09-10 18:18:41 +0530
commit7ed1e3070c9b4bbd67d5519e14711038dd53ab13 (patch)
tree490652b8d6a152a8ec239d2603397693ee080911 /scripts/check-function-names.sh
parentf6504be006aa4bb4bd26285f410a885c17920d65 (diff)
downloadlinux-stable-7ed1e3070c9b4bbd67d5519e14711038dd53ab13.tar.gz
linux-stable-7ed1e3070c9b4bbd67d5519e14711038dd53ab13.zip
dmaengine: xilinx_dma: Fix hardware buffer descriptor chain after cyclic DMA
Using the DMA in cyclic mode modifies the hardware buffer descriptor chain in xilinx_dma_prep_dma_cyclic so that the last descriptor used by the cyclic transfer points back to the first descriptor, but it never restores the original descriptor ring. This breaks using non-cyclic mode after cyclic mode with an error like: xilinx-vdma 86000000.dma: Channel 00000000354d5c8d has errors 100, cdr 6de40000 tdr 6de40400 The only way to get out of this error state is to rebuild the hardware buffer descriptor ring by releasing and re-acquiring the channel. Fix using non-cyclic mode after cyclic mode by always restoring the original buffer descriptor ring in the same manner as it is set up by xilinx_dma_alloc_chan_resources(). Fixes: 23059408b6a3 ("dmaengine: xilinx_dma: Fix race condition in the driver for multiple descriptor scenario") Signed-off-by: Alex Bereza <alex@bereza.email> Reviewed-by: Frank Li <Frank.Li@nxp.com> Reviewed-by: Suraj Gupta <suraj.gupta2@amd.com> Link: https://patch.msgid.link/20260817-fix-hw-buf-desc-after-cyclic-mode-v1-1-1fe47e701d6c@bereza.email Link: https://patch.msgid.link/20260818-fix-hw-buf-desc-after-cyclic-mode-v2-1-530ff44c6a81@bereza.email Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'scripts/check-function-names.sh')
0 files changed, 0 insertions, 0 deletions