Skip to contentSkip to conversation

ARM: pxa: ssp: remove unnessary free for devm_xxx

PATCH Superseded Firo Yang 2 participants 4 messages Jun 8, 2015

Subsystems (5)
lore
Share & tools
lore

Firo Yang

author
#0 lore raw

PATCH v3 1/1 ARM: pxa: ssp: remove unnessary free for devm_xxx

A Coccinelle warning.
It's not necessary to free memory allocated with devm_xxx and using these free functions maybe lead to a double free that will corrupt the resource subsys. So, I just remove them.

---
In "[PATCH] ARM: pxa: ssp: remove unnessary free for devm_xxx", I forgot to remove an unused variable struct resource *res.

 arch/arm/plat-pxa/ssp.c | 9 ---------
 1 file changed, 9 deletions(-)
arch/arm/plat-pxa/ssp.c +0 -9
index ad9529c..2b92a3b 100644
@@ -232,25 +232,16 @@ static int pxa_ssp_probe(struct platform_device *pdev)
 
 static int pxa_ssp_remove(struct platform_device *pdev)
 {
-	struct resource *res;
 	struct ssp_device *ssp;
 
 	ssp = platform_get_drvdata(pdev);
 	if (ssp = NULL)
 		return -ENODEV;
 
-	iounmap(ssp->mmio_base);
-
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	release_mem_region(res->start, resource_size(res));
-
-	clk_put(ssp->clk);
-
 	mutex_lock(&ssp_lock);
 	list_del(&ssp->node);
 	mutex_unlock(&ssp_lock);
 
-	kfree(ssp);
 	return 0;
 }
 
Signature · 1 line
2.4.2
author
#1 lore raw

Sorry, please, ignore this patch.
I send it to the wrong receiver.

Quoted 46 lines · Firo Yang

A Coccinelle warning.
It's not necessary to free memory allocated with devm_xxx and using these free functions maybe lead to a double free that will corrupt the resource subsys. So, I just remove them.

---
In "[PATCH] ARM: pxa: ssp: remove unnessary free for devm_xxx", I forgot to remove an unused variable struct resource *res.

arch/arm/plat-pxa/ssp.c | 9 ---------

1 file changed, 9 deletions(-)
arch/arm/plat-pxa/ssp.c +0 -9
index ad9529c..2b92a3b 100644
@@ -232,25 +232,16 @@ static int pxa_ssp_probe(struct platform_device *pdev)
 
 static int pxa_ssp_remove(struct platform_device *pdev)
 {
-	struct resource *res;
 	struct ssp_device *ssp;
 
 	ssp = platform_get_drvdata(pdev);
 	if (ssp = NULL)
 		return -ENODEV;
 
-	iounmap(ssp->mmio_base);
-
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	release_mem_region(res->start, resource_size(res));
-
-	clk_put(ssp->clk);
-
 	mutex_lock(&ssp_lock);
 	list_del(&ssp->node);
 	mutex_unlock(&ssp_lock);
 
-	kfree(ssp);
 	return 0;
 }
 
Signature · 1 line
2.4.2
author
#2 lore raw

PATCH v3 1/1 ARM: pxa: ssp: remove unnessary free for devm_xxx

In reply to Firo Yang

A Coccinelle warning.
It's not necessary to free memory allocated with devm_xxx and using these free functions maybe lead to a double free that will corrupt the resource subsys. So, I just remove them.

---
In "[PATCH] ARM: pxa: ssp: remove unnessary free for devm_xxx", I forgot to remove an unused variable struct resource *res.

 arch/arm/plat-pxa/ssp.c | 9 ---------
 1 file changed, 9 deletions(-)
arch/arm/plat-pxa/ssp.c +0 -9
index ad9529c..2b92a3b 100644
@@ -232,25 +232,16 @@ static int pxa_ssp_probe(struct platform_device *pdev)
 
 static int pxa_ssp_remove(struct platform_device *pdev)
 {
-	struct resource *res;
 	struct ssp_device *ssp;
 
 	ssp = platform_get_drvdata(pdev);
 	if (ssp = NULL)
 		return -ENODEV;
 
-	iounmap(ssp->mmio_base);
-
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	release_mem_region(res->start, resource_size(res));
-
-	clk_put(ssp->clk);
-
 	mutex_lock(&ssp_lock);
 	list_del(&ssp->node);
 	mutex_unlock(&ssp_lock);
 
-	kfree(ssp);
 	return 0;
 }
 
Signature · 1 line
2.4.2
Reviewed-by on v3 1/1
#3 lore raw
Quoted 6 lines · Firo Yang

A Coccinelle warning.
It's not necessary to free memory allocated with devm_xxx and using these free functions maybe lead to a double free that will corrupt the resource subsys. So, I just remove them.

Thanks!
Daniel

Quoted 38 lines

---
In "[PATCH] ARM: pxa: ssp: remove unnessary free for devm_xxx", I forgot to remove an unused variable struct resource *res.

 arch/arm/plat-pxa/ssp.c | 9 ---------
 1 file changed, 9 deletions(-)
arch/arm/plat-pxa/ssp.c +0 -9
index ad9529c..2b92a3b 100644
@@ -232,25 +232,16 @@ static int pxa_ssp_probe(struct platform_device *pdev)
 
 static int pxa_ssp_remove(struct platform_device *pdev)
 {
-	struct resource *res;
 	struct ssp_device *ssp;
 
 	ssp = platform_get_drvdata(pdev);
 	if (ssp = NULL)
 		return -ENODEV;
 
-	iounmap(ssp->mmio_base);
-
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	release_mem_region(res->start, resource_size(res));
-
-	clk_put(ssp->clk);
-
 	mutex_lock(&ssp_lock);
 	list_del(&ssp->node);
 	mutex_unlock(&ssp_lock);
 
-	kfree(ssp);
 	return 0;
 }