dmaengine: stm32-mdma: use vchan_terminate_vdesc() in .terminate_all
authorAmelie Delaunay <amelie.delaunay@st.com>
Mon, 27 Jan 2020 08:53:34 +0000 (09:53 +0100)
committerVinod Koul <vkoul@kernel.org>
Mon, 24 Feb 2020 16:50:01 +0000 (22:20 +0530)
commitdfc708812a2acfc0ca56f56233b3c3e7b0d4ffe7
treeae19c26e6c41ed9faa11d484dd090eb631438e26
parent542fbc463aabdd93c2d3db7f604903f357a0ebf8
dmaengine: stm32-mdma: use vchan_terminate_vdesc() in .terminate_all

To avoid race with vchan_complete, use the race free way to terminate
running transfer.

Move vdesc->node list_del in stm32_mdma_start_transfer instead of in
stm32_mdma_xfer_end to avoid another race in vchan_dma_desc_free_list.

Signed-off-by: Amelie Delaunay <amelie.delaunay@st.com>
Link: https://lore.kernel.org/r/20200127085334.13163-7-amelie.delaunay@st.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/stm32-mdma.c