diff options
author | Fabio Baltieri <fabio.baltieri@linaro.org> | 2013-02-14 10:03:10 +0100 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2013-02-14 15:24:31 +0100 |
commit | 7dd145252574e34d92ad574e5168e4115639c0be (patch) | |
tree | 0b68fb06fbe4b6e431d72411bffc053c3c9ccedf /drivers/dma | |
parent | dma: of-dma.c: fix memory leakage (diff) | |
download | linux-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')
-rw-r--r-- | drivers/dma/ste_dma40.c | 6 |
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); |