aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafaƂ Hibner <[email protected]>2020-05-06 12:28:45 +0200
committerVinod Koul <[email protected]>2020-05-15 11:21:11 +0530
commitee63fab3ccf9795a8fb014415fefdaa74bb0ba46 (patch)
tree5d18fe9644bd1e1c9eba7c7ef7953d0713a88c0d
parent6b41030fdc79086db5d673c5ed7169f3ee8c13b9 (diff)
dmaengine: zynqmp_dma: Move list_del inside zynqmp_dma_free_descriptor.
List elements are not formally removed from list during zynqmp_dma_reset. Signed-off-by: Rafal Hibner <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Vinod Koul <[email protected]>
-rw-r--r--drivers/dma/xilinx/zynqmp_dma.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/dma/xilinx/zynqmp_dma.c b/drivers/dma/xilinx/zynqmp_dma.c
index d47749a35863..ff253696d183 100644
--- a/drivers/dma/xilinx/zynqmp_dma.c
+++ b/drivers/dma/xilinx/zynqmp_dma.c
@@ -434,6 +434,7 @@ static void zynqmp_dma_free_descriptor(struct zynqmp_dma_chan *chan,
struct zynqmp_dma_desc_sw *child, *next;
chan->desc_free_cnt++;
+ list_del(&sdesc->node);
list_add_tail(&sdesc->node, &chan->free_list);
list_for_each_entry_safe(child, next, &sdesc->tx_list, node) {
chan->desc_free_cnt++;
@@ -608,8 +609,6 @@ static void zynqmp_dma_chan_desc_cleanup(struct zynqmp_dma_chan *chan)
dma_async_tx_callback callback;
void *callback_param;
- list_del(&desc->node);
-
callback = desc->async_tx.callback;
callback_param = desc->async_tx.callback_param;
if (callback) {