]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - arch/arm/plat-s3c64xx/dma.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-2.6
[mv-sheeva.git] / arch / arm / plat-s3c64xx / dma.c
index 7d12eb8fa58dc36a41176d80ffd2c93b1ecd5b0e..d554b936fcfb38fb4aca764cbcc6e33049976610 100644 (file)
@@ -610,6 +610,12 @@ static irqreturn_t s3c64xx_dma_irq(int irq, void *pw)
 
                s3c64xx_dma_bufffdone(chan, buff, res);
 
+               /* Free the node and update curr, if non-circular queue */
+               if (!(chan->flags & S3C2410_DMAF_CIRCULAR)) {
+                       chan->curr = buff->next;
+                       s3c64xx_dma_freebuff(buff);
+               }
+
                /* Update 'next' */
                buff = chan->next;
                if (chan->next == chan->end) {