projects
/
firefly-linux-kernel-4.4.55.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
02d88b7
)
dmaengine: bcm2835-dma: Fix memory leak when stopping a running transfer
author
Peter Ujfalusi
<peter.ujfalusi@ti.com>
Fri, 27 Mar 2015 11:35:53 +0000
(13:35 +0200)
committer
Vinod Koul
<vinod.koul@intel.com>
Mon, 30 Mar 2015 17:47:08 +0000
(23:17 +0530)
The vd->node is removed from the lists when the transfer started so the
vchan_get_all_descriptors() will not find it. This results memory leak.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Stephen Warren <swarren@wwwdotorg.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/bcm2835-dma.c
patch
|
blob
|
history
diff --git
a/drivers/dma/bcm2835-dma.c
b/drivers/dma/bcm2835-dma.c
index 0723096fb50ac125dbb471126ba396085307ff2e..c92d6a70ccf303c69cfdb127210a09a1262122bc 100644
(file)
--- a/
drivers/dma/bcm2835-dma.c
+++ b/
drivers/dma/bcm2835-dma.c
@@
-475,6
+475,7
@@
static int bcm2835_dma_terminate_all(struct dma_chan *chan)
* c->desc is NULL and exit.)
*/
if (c->desc) {
+ bcm2835_dma_desc_free(&c->desc->vd);
c->desc = NULL;
bcm2835_dma_abort(c->chan_base);