From: Sascha Hauer Date: Mon, 16 Dec 2019 10:53:25 +0000 (+0100) Subject: dmaengine: virt-dma: use vchan_vdesc_fini() to free descriptors X-Git-Tag: v5.15~4538^2~42 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b167f94d2928f3516176c8107cb698a6d9bb9911;p=platform%2Fkernel%2Flinux-starfive.git dmaengine: virt-dma: use vchan_vdesc_fini() to free descriptors 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 Reviewed-by: Peter Ujfalusi Tested-by: Peter Ujfalusi Link: https://lore.kernel.org/r/20191216105328.15198-7-s.hauer@pengutronix.de Signed-off-by: Vinod Koul --- diff --git a/drivers/dma/virt-dma.c b/drivers/dma/virt-dma.c index 26e08c7..95dfe431 100644 --- a/drivers/dma/virt-dma.c +++ b/drivers/dma/virt-dma.c @@ -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);