summaryrefslogtreecommitdiffstats
path: root/drivers/dma/edma.c
diff options
context:
space:
mode:
authorGeyslan G. Bem <geyslan@gmail.com>2013-10-08 00:19:58 +0200
committerVinod Koul <vinod.koul@intel.com>2013-10-11 04:01:47 +0200
commit2f6d8fad0a1636e675308088c35e863d066e0949 (patch)
tree59d48738551586ad48e4ca45eb3a4299e7c30121 /drivers/dma/edma.c
parentrcar-hpbdma: add parameter to set_slave() method (diff)
downloadlinux-2f6d8fad0a1636e675308088c35e863d066e0949.tar.xz
linux-2f6d8fad0a1636e675308088c35e863d066e0949.zip
dma: edma.c: remove edma_desc leakage
Free memory allocated to edma_desc when failing to allocate slot. Signed-off-by: Geyslan G. Bem <geyslan@gmail.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to '')
-rw-r--r--drivers/dma/edma.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c
index 098a8da450f0..3519111c566b 100644
--- a/drivers/dma/edma.c
+++ b/drivers/dma/edma.c
@@ -306,6 +306,7 @@ static struct dma_async_tx_descriptor *edma_prep_slave_sg(
EDMA_SLOT_ANY);
if (echan->slot[i] < 0) {
dev_err(dev, "Failed to allocate slot\n");
+ kfree(edesc);
return NULL;
}
}