[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1348563456-30569-2-git-send-email-inderpal.singh@linaro.org>
Date: Tue, 25 Sep 2012 14:27:34 +0530
From: Inderpal Singh <inderpal.singh@...aro.org>
To: linux-samsung-soc@...r.kernel.org, linux-kernel@...r.kernel.org
Cc: jassisinghbrar@...il.com, boojin.kim@...sung.com,
vinod.koul@...el.com, patches@...aro.org, kgene.kim@...sung.com
Subject: [PATCH 1/3] DMA: PL330: Free memory allocated for peripheral channels
The allocated memory for peripheral channels is not being freed upon
failure in probe and in module's remove funtion. It will lead to memory
leakage. Hence free the allocated memory.
Signed-off-by: Inderpal Singh <inderpal.singh@...aro.org>
---
drivers/dma/pl330.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/dma/pl330.c b/drivers/dma/pl330.c
index 2ebd4cd..10c6b6a 100644
--- a/drivers/dma/pl330.c
+++ b/drivers/dma/pl330.c
@@ -2962,7 +2962,7 @@ pl330_probe(struct amba_device *adev, const struct amba_id *id)
ret = dma_async_device_register(pd);
if (ret) {
dev_err(&adev->dev, "unable to register DMAC\n");
- goto probe_err4;
+ goto probe_err5;
}
dev_info(&adev->dev,
@@ -2975,6 +2975,8 @@ pl330_probe(struct amba_device *adev, const struct amba_id *id)
return 0;
+probe_err5:
+ kfree(pdmac->peripherals);
probe_err4:
pl330_del(pi);
probe_err3:
@@ -3025,6 +3027,7 @@ static int __devexit pl330_remove(struct amba_device *adev)
res = &adev->res;
release_mem_region(res->start, resource_size(res));
+ kfree(pdmac->peripherals);
kfree(pdmac);
return 0;
--
1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists