omap: McBSP: Fix potential memory leak in omap_mcbsp_remove
authorJarkko Nikula <jhnikula@gmail.com>
Wed, 8 Dec 2010 00:25:40 +0000 (16:25 -0800)
committerTony Lindgren <tony@atomide.com>
Wed, 8 Dec 2010 00:25:40 +0000 (16:25 -0800)
Function omap_mcbsp_probe allocates struct omap_mcbsp *mcbsp but it is not
freed in omap_mcbsp_remove. Fix this, remove unneeded structure cleanups
and clk_disable calls since they are not needed here.

This is not problem currently but becomes if the mcbsp driver is ever
modularized.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/plat-omap/mcbsp.c

index eac4b978e9fd2feb4c692d8f10567b853ca53398..f79090cb823b0465eb05dcff79f8138d8867e8c8 100644 (file)
@@ -1836,17 +1836,11 @@ static int __devexit omap_mcbsp_remove(struct platform_device *pdev)
 
                omap34xx_device_exit(mcbsp);
 
-               clk_disable(mcbsp->fclk);
-               clk_disable(mcbsp->iclk);
                clk_put(mcbsp->fclk);
                clk_put(mcbsp->iclk);
 
                iounmap(mcbsp->io_base);
-
-               mcbsp->fclk = NULL;
-               mcbsp->iclk = NULL;
-               mcbsp->free = 0;
-               mcbsp->dev = NULL;
+               kfree(mcbsp);
        }
 
        return 0;