[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200506102844.2259-1-rafal.hibner@secom.com.pl>
Date: Wed, 6 May 2020 12:28:45 +0200
From: Rafał Hibner <rafal.hibner@...om.com.pl>
To: unlisted-recipients:; (no To-header on input)
Cc: Rafał Hibner <rafal.hibner@...om.com.pl>,
Appana Durga Kedareswara rao <appana.durga.rao@...inx.com>,
Radhey Shyam Pandey <radhey.shyam.pandey@...inx.com>,
Harini Katakam <harini.katakam@...inx.com>,
Vinod Koul <vkoul@...nel.org>,
Dan Williams <dan.j.williams@...el.com>,
Michal Simek <michal.simek@...inx.com>,
dmaengine@...r.kernel.org, linux-arm-kernel@...ts.infradead.org,
linux-kernel@...r.kernel.org
Subject: [PATCH V2] dma: 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 <rafal.hibner@...om.com.pl>
---
> Looking at this, i think it would make sense to do list_splice_init() before we
> send the list to be freed.
Moving list_del inside zynqmp_dma_free_descriptor fixes the problem just as well
and avoids INIT_LIST_HEAD(list).
I still don't see how list_splice_init would help here.
Regards,
Rafal
---
drivers/dma/xilinx/zynqmp_dma.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/dma/xilinx/zynqmp_dma.c b/drivers/dma/xilinx/zynqmp_dma.c
index 931e41a72..df0403335 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++;
@@ -604,8 +605,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) {
--
2.20.1
Powered by blists - more mailing lists