projects
/
GitHub
/
MotorolaMobilityLLC
/
kernel-slsi.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9b08284
)
ARM: S3C64XX: DMA: Free node for non-circular queues
author
Jassi Brar
<jassi.brar@samsung.com>
Thu, 5 Nov 2009 04:44:39 +0000
(13:44 +0900)
committer
Ben Dooks
<ben-linux@fluff.org>
Mon, 9 Nov 2009 23:51:19 +0000
(23:51 +0000)
We need to free the buff and lli nodes if the buffer queue is
not CIRCULAR.
Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
arch/arm/plat-s3c64xx/dma.c
patch
|
blob
|
blame
|
history
diff --git
a/arch/arm/plat-s3c64xx/dma.c
b/arch/arm/plat-s3c64xx/dma.c
index 7d12eb8fa58dc36a41176d80ffd2c93b1ecd5b0e..d554b936fcfb38fb4aca764cbcc6e33049976610 100644
(file)
--- 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)
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) {