linux/drivers/dma/sh
Biju Das 9969db4816 dmaengine: sh: rz-dmac: Fix rz_dmac_terminate_all()
commit 747213b08a upstream.

After audio full duplex testing, playing the recorded file contains a few
playback frames from the previous time. The rz_dmac_terminate_all() does
not reset all the hardware descriptors queued previously, leading to the
wrong descriptor being picked up during the next DMA transfer. Fix the
above issue by resetting all the descriptor headers for a channel in
rz_dmac_terminate_all() as rz_dmac_lmdesc_recycle() points to the proper
descriptor header filled by the rz_dmac_prepare_descs_for_slave_sg().

Cc: stable@kernel.org
Fixes: 5000d37042 ("dmaengine: sh: Add DMAC driver for RZ/G2L SoC")
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Tested-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Link: https://patch.msgid.link/20251113195052.564338-1-biju.das.jz@bp.renesas.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2026-01-23 11:18:49 +01:00
..
Kconfig dmaengine: sh: Kconfig: Make RZ_DMAC depend on ARCH_RZG2L 2022-04-08 23:22:00 +05:30
Makefile dmaengine: sh: Add DMAC driver for RZ/G2L SoC 2021-08-29 19:14:19 +05:30
rcar-dmac.c dma-mapping: don't return errors from dma_set_max_seg_size 2024-08-29 07:22:49 +03:00
rz-dmac.c dmaengine: sh: rz-dmac: Fix rz_dmac_terminate_all() 2026-01-23 11:18:49 +01:00
shdma-base.c dmaengine: sh: setup_xref error handling 2025-11-13 15:34:18 -05:00
shdma.h dmaengine: shdma: increase size of 'dev_id' 2024-01-19 18:12:10 +05:30
shdmac.c dmaengine: sh: setup_xref error handling 2025-11-13 15:34:18 -05:00
usb-dmac.c dmaengine: usb-dmac: Avoid format-overflow warning 2024-01-19 17:41:03 +05:30