dmaengine: virt-dma: use vchan_vdesc_fini() to free descriptors
authorSascha Hauer <s.hauer@pengutronix.de>
Mon, 16 Dec 2019 10:53:25 +0000 (11:53 +0100)
committerVinod Koul <vkoul@kernel.org>
Thu, 26 Dec 2019 04:34:18 +0000 (10:04 +0530)
vchan_dma_desc_free_list() basically open codes vchan_vdesc_fini() in its
loop body. Call it directly rather than duplicating the code.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Reviewed-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Link: https://lore.kernel.org/r/20191216105328.15198-7-s.hauer@pengutronix.de
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/virt-dma.c

index 26e08c7..95dfe43 100644 (file)
@@ -115,16 +115,8 @@ void vchan_dma_desc_free_list(struct virt_dma_chan *vc, struct list_head *head)
        struct virt_dma_desc *vd, *_vd;
 
        list_for_each_entry_safe(vd, _vd, head, node) {
-               if (dmaengine_desc_test_reuse(&vd->tx)) {
-                       unsigned long flags;
-
-                       spin_lock_irqsave(&vc->lock, flags);
-                       list_move_tail(&vd->node, &vc->desc_allocated);
-                       spin_unlock_irqrestore(&vc->lock, flags);
-               } else {
-                       list_del(&vd->node);
-                       vc->desc_free(vd);
-               }
+               list_del(&vd->node);
+               vchan_vdesc_fini(vd);
        }
 }
 EXPORT_SYMBOL_GPL(vchan_dma_desc_free_list);