提交 336b1a31 编写于 作者: J Jassi Brar 提交者: Ben Dooks

ARM: S3C64XX: DMA: Free node for non-circular queues

We need to free the buff and lli nodes if the buffer queue is
not CIRCULAR.
Signed-off-by: NJassi Brar <jassi.brar@samsung.com>
Signed-off-by: NBen Dooks <ben-linux@fluff.org>
上级 9b08284b
......@@ -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) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册