summaryrefslogtreecommitdiffstats
path: root/drivers/dma/edma.c
diff options
context:
space:
mode:
authorGeyslan G. Bem <geyslan@gmail.com>2013-10-07 19:19:58 -0300
committerVinod Koul <vinod.koul@intel.com>2013-10-11 07:31:47 +0530
commit2f6d8fad0a1636e675308088c35e863d066e0949 (patch)
tree59d48738551586ad48e4ca45eb3a4299e7c30121 /drivers/dma/edma.c
parent08d08bcdee30d3a28426bd60dfbdae44b36250bc (diff)
downloadlinux-2f6d8fad0a1636e675308088c35e863d066e0949.tar.gz
linux-2f6d8fad0a1636e675308088c35e863d066e0949.tar.bz2
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 'drivers/dma/edma.c')
-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;
}
}