linux/drivers/dma/sh
Claudiu Beznea 89a8567d84 dmaengine: sh: rz-dmac: Move CHCTRL updates under spinlock
Both rz_dmac_disable_hw() and rz_dmac_irq_handle_channel() update the
CHCTRL register. To avoid concurrency issues when configuring
functionalities exposed by this registers, take the virtual channel lock.
All other CHCTRL updates were already protected by the same lock.

Previously, rz_dmac_disable_hw() disabled and re-enabled local IRQs, before
accessing CHCTRL registers but this does not ensure race-free access.
Remove the local IRQ disable/enable code as well.

Fixes: 5000d37042 ("dmaengine: sh: Add DMAC driver for RZ/G2L SoC")
Cc: stable@vger.kernel.org
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Link: https://patch.msgid.link/20260316133252.240348-3-claudiu.beznea.uj@bp.renesas.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
2026-03-17 16:11:11 +05:30
..
Kconfig dmaengine: sh: Kconfig: Drop ARCH_R7S72100/ARCH_RZG2L dependency 2025-10-16 17:42:59 +05:30
Makefile dmaengine: sh: Add DMAC driver for RZ/G2L SoC 2021-08-29 19:14:19 +05:30
rcar-dmac.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
rz-dmac.c dmaengine: sh: rz-dmac: Move CHCTRL updates under spinlock 2026-03-17 16:11:11 +05:30
shdma-base.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08: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-09-02 12:29:36 +05:30
usb-dmac.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00