diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-05-26 18:00:49 +0200 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-07-01 15:16:10 +0200 |
commit | a068682cd69461911407411b4198248a87c583e2 (patch) | |
tree | 731b0ea4ebb03afad70d29e8d1e000496e92f884 /drivers/dma | |
parent | dmaengine: PL08x: get rid of write only pool_ctr and free_txd locking (diff) | |
download | linux-a068682cd69461911407411b4198248a87c583e2.tar.xz linux-a068682cd69461911407411b4198248a87c583e2.zip |
dmaengine: PL08x: ensure all descriptors are freed when channel is released
Ensure all queued descriptors are freed when the channel is released,
ensuring we don't leak memory
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/dma')
-rw-r--r-- | drivers/dma/amba-pl08x.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/dma/amba-pl08x.c b/drivers/dma/amba-pl08x.c index a5d85b101b89..6fbeebb9486f 100644 --- a/drivers/dma/amba-pl08x.c +++ b/drivers/dma/amba-pl08x.c @@ -1117,6 +1117,8 @@ static int pl08x_alloc_chan_resources(struct dma_chan *chan) static void pl08x_free_chan_resources(struct dma_chan *chan) { + /* Ensure all queued descriptors are freed */ + vchan_free_chan_resources(to_virt_chan(chan)); } static struct dma_async_tx_descriptor *pl08x_prep_dma_interrupt( |