summaryrefslogtreecommitdiffstats
path: root/drivers/dma/ste_dma40.c
diff options
context:
space:
mode:
authorFabio Baltieri <fabio.baltieri@linaro.org>2013-02-14 10:03:10 +0100
committerVinod Koul <vinod.koul@intel.com>2013-02-14 15:24:31 +0100
commit7dd145252574e34d92ad574e5168e4115639c0be (patch)
tree0b68fb06fbe4b6e431d72411bffc053c3c9ccedf /drivers/dma/ste_dma40.c
parentdma: of-dma.c: fix memory leakage (diff)
downloadlinux-7dd145252574e34d92ad574e5168e4115639c0be.tar.xz
linux-7dd145252574e34d92ad574e5168e4115639c0be.zip
dmaengine: ste_dma40: do not remove descriptors for cyclic transfers
Fix dma_tc_handle() to call d40_desc_remove() and d40_desc_done() only for non-cyclic transfers, as this was breaking ux500_pcm since introduced in: d49278e dmaengine: dma40: Add support to split up large elements Reported-by: Shreshtha Kumar Sahu <shreshthakumar.sahu@stericsson.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Fabio Baltieri <fabio.baltieri@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'drivers/dma/ste_dma40.c')
-rw-r--r--drivers/dma/ste_dma40.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/dma/ste_dma40.c b/drivers/dma/ste_dma40.c
index ad860a221c33..1734feec47b1 100644
--- a/drivers/dma/ste_dma40.c
+++ b/drivers/dma/ste_dma40.c
@@ -1570,10 +1570,10 @@ static void dma_tc_handle(struct d40_chan *d40c)
d40c->busy = false;
pm_runtime_mark_last_busy(d40c->base->dev);
pm_runtime_put_autosuspend(d40c->base->dev);
- }
- d40_desc_remove(d40d);
- d40_desc_done(d40c, d40d);
+ d40_desc_remove(d40d);
+ d40_desc_done(d40c, d40d);
+ }
d40c->pending_tx++;
tasklet_schedule(&d40c->tasklet);