diff options
author | Vinod Koul <vinod.koul@linux.intel.com> | 2012-05-11 02:18:21 -0400 |
---|---|---|
committer | Vinod Koul <vinod.koul@linux.intel.com> | 2012-05-14 23:13:40 -0400 |
commit | d41160524d8d8ee721296e5c7e15f1ed727df7eb (patch) | |
tree | 49328b29bbcd95acbfd94556ea748315c2851053 /drivers/dma/ep93xx_dma.c | |
parent | eab21585580344c8533d5e7bc4edea27ad1e268f (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.c | 4 |
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; |