aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm/plat-s3c64xx/dma.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/plat-s3c64xx/dma.c b/arch/arm/plat-s3c64xx/dma.c
index 7d12eb8fa58d..d554b936fcfb 100644
--- a/arch/arm/plat-s3c64xx/dma.c
+++ b/arch/arm/plat-s3c64xx/dma.c
@@ -610,6 +610,12 @@ static irqreturn_t s3c64xx_dma_irq(int irq, void *pw)
610 610
611 s3c64xx_dma_bufffdone(chan, buff, res); 611 s3c64xx_dma_bufffdone(chan, buff, res);
612 612
613 /* Free the node and update curr, if non-circular queue */
614 if (!(chan->flags & S3C2410_DMAF_CIRCULAR)) {
615 chan->curr = buff->next;
616 s3c64xx_dma_freebuff(buff);
617 }
618
613 /* Update 'next' */ 619 /* Update 'next' */
614 buff = chan->next; 620 buff = chan->next;
615 if (chan->next == chan->end) { 621 if (chan->next == chan->end) {