| Submitter | Stefan Roese |
|---|---|
| Date | Jan. 20, 2012, 10:35 a.m. |
| Message ID | <1327055719-17644-1-git-send-email-sr@denx.de> |
| Download | mbox | patch |
| Permalink | /patch/136996/ |
| State | New |
| Headers | show |
Comments
On Fri, 2012-01-20 at 11:35 +0100, Stefan Roese wrote: > From: Shiraz Hashim <shiraz.hashim@st.com> > > Driver must cleanup all held resources during remove. It wasn't > releasing requested memory region. Pushed to l2-mtd, thanks!
Patch
diff --git a/drivers/mtd/devices/spear_smi.c b/drivers/mtd/devices/spear_smi.c index db4b741..fdc5f0b 100644 --- a/drivers/mtd/devices/spear_smi.c +++ b/drivers/mtd/devices/spear_smi.c @@ -1032,6 +1032,7 @@ static int __devexit spear_smi_remove(struct platform_device *pdev) { struct spear_smi *dev; struct spear_snor_flash *flash; + struct resource *smi_base; int ret; int i, irq; @@ -1067,6 +1068,9 @@ static int __devexit spear_smi_remove(struct platform_device *pdev) clk_put(dev->clk); iounmap(dev->io_base); kfree(dev); + + smi_base = platform_get_resource(pdev, IORESOURCE_MEM, 0); + release_mem_region(smi_base->start, resource_size(smi_base)); platform_set_drvdata(pdev, NULL); return 0;