Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 336b1a31 authored by Jassi Brar's avatar Jassi Brar Committed by Ben Dooks
Browse files

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: default avatarJassi Brar <jassi.brar@samsung.com>
Signed-off-by: default avatarBen Dooks <ben-linux@fluff.org>
parent 9b08284b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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) {