aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma/ep93xx_dma.c
diff options
context:
space:
mode:
authorVinod Koul <vinod.koul@linux.intel.com>2012-05-11 02:18:21 -0400
committerVinod Koul <vinod.koul@linux.intel.com>2012-05-14 23:13:40 -0400
commitd41160524d8d8ee721296e5c7e15f1ed727df7eb (patch)
tree49328b29bbcd95acbfd94556ea748315c2851053 /drivers/dma/ep93xx_dma.c
parenteab21585580344c8533d5e7bc4edea27ad1e268f (diff)
dmaengine: fix cyclic dma usage
for cyclic dma, dont makr the descriptor as complte. Fix the remaining users of cyclic dma which do so Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com> Tested-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Tested-by: Mika Westerberg <mika.westerberg@iki.fi>
Diffstat (limited to 'drivers/dma/ep93xx_dma.c')
-rw-r--r--drivers/dma/ep93xx_dma.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/dma/ep93xx_dma.c b/drivers/dma/ep93xx_dma.c
index e6f133b78dc2..f6e9b572b998 100644
--- a/drivers/dma/ep93xx_dma.c
+++ b/drivers/dma/ep93xx_dma.c
@@ -703,7 +703,9 @@ static void ep93xx_dma_tasklet(unsigned long data)
703 desc = ep93xx_dma_get_active(edmac); 703 desc = ep93xx_dma_get_active(edmac);
704 if (desc) { 704 if (desc) {
705 if (desc->complete) { 705 if (desc->complete) {
706 dma_cookie_complete(&desc->txd); 706 /* mark descriptor complete for non cyclic case only */
707 if (!test_bit(EP93XX_DMA_IS_CYCLIC, &edmac->flags))
708 dma_cookie_complete(&desc->txd);
707 list_splice_init(&edmac->active, &list); 709 list_splice_init(&edmac->active, &list);
708 } 710 }
709 callback = desc->txd.callback; 711 callback = desc->txd.callback;