[PATCH 1/2] tc6387xb: fix resource reclaim

Previous thread: [PATCH 2.6.32/stable] CIFS: Remove __exit mark from cifs_exit_dns_resolver() by Michael Neuling on Monday, August 2, 2010 - 10:03 pm. (4 messages)

Next thread: [PATCH 2/2] tc6387xb: add __devinit/__devexit annotation for tc6387xb_probe/tc6387xb_remove by Axel Lin on Monday, August 2, 2010 - 10:45 pm. (2 messages)
From: Axel Lin
Date: Monday, August 2, 2010 - 10:44 pm

This patch includes below fixes:
1. add a missing iounmap in tc6387xb_probe() error path
2. fix resource reclaim in tc6387xb_remove()

Signed-off-by: Axel Lin <axel.lin@gmail.com>
---
 drivers/mfd/tc6387xb.c |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/mfd/tc6387xb.c b/drivers/mfd/tc6387xb.c
index 517f9bc..1bc71da 100644
--- a/drivers/mfd/tc6387xb.c
+++ b/drivers/mfd/tc6387xb.c
@@ -201,6 +201,7 @@ static int tc6387xb_probe(struct platform_device *dev)
 	if (!ret)
 		return 0;
 
+	iounmap(tc6387xb->scr);
 err_ioremap:
 	release_resource(&tc6387xb->rscr);
 err_resource:
@@ -213,12 +214,15 @@ err_no_irq:
 
 static int tc6387xb_remove(struct platform_device *dev)
 {
-	struct clk *clk32k = platform_get_drvdata(dev);
+	struct tc6387xb *tc6387xb = platform_get_drvdata(dev);
 
 	mfd_remove_devices(&dev->dev);
-	clk_disable(clk32k);
-	clk_put(clk32k);
+	iounmap(tc6387xb->scr);
+	release_resource(&tc6387xb->rscr);
+	clk_disable(tc6387xb->clk32k);
+	clk_put(tc6387xb->clk32k);
 	platform_set_drvdata(dev, NULL);
+	kfree(tc6387xb);
 
 	return 0;
 }
-- 
1.5.4.3



--

From: Samuel Ortiz
Date: Tuesday, August 3, 2010 - 3:33 am

Patch applied, thanks.

Cheers,
Samuel.
-- 
Intel Open Source Technology Centre
http://oss.intel.com/
--

Previous thread: [PATCH 2.6.32/stable] CIFS: Remove __exit mark from cifs_exit_dns_resolver() by Michael Neuling on Monday, August 2, 2010 - 10:03 pm. (4 messages)

Next thread: [PATCH 2/2] tc6387xb: add __devinit/__devexit annotation for tc6387xb_probe/tc6387xb_remove by Axel Lin on Monday, August 2, 2010 - 10:45 pm. (2 messages)