summaryrefslogtreecommitdiffstats
path: root/drivers/dma/acpi-dma.c
diff options
context:
space:
mode:
authorPaul Cercueil <paul@crapouillou.net>2019-05-04 23:37:57 +0200
committerVinod Koul <vkoul@kernel.org>2019-05-21 09:59:58 +0530
commit4e4106f5e942bff65548e82fc330d40385c89220 (patch)
tree13e43675bce30c58d814669b26815f1c83afa9f8 /drivers/dma/acpi-dma.c
parenta188339ca5a396acc588e5851ed7e19f66b0ebd9 (diff)
downloadlinux-4e4106f5e942bff65548e82fc330d40385c89220.tar.bz2
dmaengine: jz4780: Fix transfers being ACKed too soon
When a multi-descriptor DMA transfer is in progress, the "IRQ pending" flag will apparently be set for that channel as soon as the last descriptor loads, way before the IRQ actually happens. This behaviour has been observed on the JZ4725B, but maybe other SoCs are affected. In the case where another DMA transfer is running into completion on a separate channel, the IRQ handler would then run the completion handler for our previous channel even if the transfer didn't actually finish. Fix this by checking in the completion handler that we're indeed done; if not the interrupted DMA transfer will simply be resumed. Signed-off-by: Paul Cercueil <paul@crapouillou.net> Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/dma/acpi-dma.c')
0 files changed, 0 insertions, 0 deletions