diff options
Diffstat (limited to 'drivers/dma/virt-dma.c')
-rw-r--r-- | drivers/dma/virt-dma.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/dma/virt-dma.c b/drivers/dma/virt-dma.c index e47fc9b0944f..c940cec61f39 100644 --- a/drivers/dma/virt-dma.c +++ b/drivers/dma/virt-dma.c @@ -108,12 +108,13 @@ static void vchan_complete(unsigned long arg) dmaengine_desc_get_callback(&vd->tx, &cb); list_del(&vd->node); + + dmaengine_desc_callback_invoke(&cb, NULL); + if (dmaengine_desc_test_reuse(&vd->tx)) list_add(&vd->node, &vc->desc_allocated); else vc->desc_free(vd); - - dmaengine_desc_callback_invoke(&cb, NULL); } } |