diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2019-12-16 11:53:25 +0100 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2019-12-26 10:04:18 +0530 |
commit | b167f94d2928f3516176c8107cb698a6d9bb9911 (patch) | |
tree | 20793f06e527d6d7e741db3246a021f5e1ab1173 /drivers/dma | |
parent | 9f91e6bfa8666270565fb76d883db2ba2e441585 (diff) | |
download | linux-b167f94d2928f3516176c8107cb698a6d9bb9911.tar.gz linux-b167f94d2928f3516176c8107cb698a6d9bb9911.tar.bz2 linux-b167f94d2928f3516176c8107cb698a6d9bb9911.zip |
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 <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>
Diffstat (limited to 'drivers/dma')
-rw-r--r-- | drivers/dma/virt-dma.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/drivers/dma/virt-dma.c b/drivers/dma/virt-dma.c index 26e08c7a7465..95dfe431777e 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); |