OSDN Git Service

dmaengine: xilinx: dpdma: Fix race condition in done IRQ
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Sun, 7 Mar 2021 04:06:29 +0000 (06:06 +0200)
committerVinod Koul <vkoul@kernel.org>
Tue, 16 Mar 2021 10:45:06 +0000 (16:15 +0530)
commit868833fbffbe51c487df4f95d4de9194264a4b30
tree5a6912f8073d5ec62e6d076bfb87400455ca5bd2
parent1cbd44666216278bbb6a55bcb6b9283702171c77
dmaengine: xilinx: dpdma: Fix race condition in done IRQ

The active descriptor pointer is accessed from different contexts,
including different interrupt handlers, and its access must be protected
by the channel's lock. This wasn't done in the done IRQ handler. Fix it.

Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://lore.kernel.org/r/20210307040629.29308-3-laurent.pinchart@ideasonboard.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/xilinx/xilinx_dpdma.c