]> git.baikalelectronics.ru Git - kernel.git/commit
dmaengine: at_hdmac: Fix completion of unissued descriptor in case of errors
authorTudor Ambarus <tudor.ambarus@microchip.com>
Tue, 25 Oct 2022 09:02:46 +0000 (12:02 +0300)
committerVinod Koul <vkoul@kernel.org>
Tue, 8 Nov 2022 05:13:57 +0000 (10:43 +0530)
commit7aebf0f10bea1911a07ee976e73715fe355261ca
tree7e15b5ce6ed6a972753b884926ef71e8eef73f9a
parent878fa04afc4c32568fee4ecb05d4d1484448c48b
dmaengine: at_hdmac: Fix completion of unissued descriptor in case of errors

In case the controller detected an error, the code took the chance to move
all the queued (submitted) descriptors to the active (issued) list. This
was wrong as if there were any descriptors in the submitted list they were
moved to the issued list without actually issuing them to the controller,
thus a completion could be raised without even fireing the descriptor.

Fixes: a8ae07d54e40 ("dmaengine: at_hdmac: new driver for the Atmel AHB DMA Controller")
Reported-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/lkml/13c6c9a2-6db5-c3bf-349b-4c127ad3496a@axentia.se/
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/20221025090306.297886-1-tudor.ambarus@microchip.com
Link: https://lore.kernel.org/r/20221025090306.297886-13-tudor.ambarus@microchip.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/at_hdmac.c