rtc: mxc: fix memory leak
authorAlexander Beregalov <[email protected]>
Fri, 5 Mar 2010 21:44:19 +0000 (13:44 -0800)
committerLinus Torvalds <[email protected]>
Sat, 6 Mar 2010 19:26:46 +0000 (11:26 -0800)
Free pdata before exit.  Found by cppcheck.

[[email protected]: add missing iounmap()]
Signed-off-by: Alexander Beregalov <[email protected]>
Reviewed-by: WANG Cong <[email protected]>
Acked-by: Daniel Mack <[email protected]>
Acked-by: Alessandro Zummo <[email protected]>
Cc Yoichi Yuasa <[email protected]>
Cc: Paul Gortmaker <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
drivers/rtc/rtc-mxc.c

index 6bd5072d4eb7f4056c226e7982972080fb4f18ff..8710f9415d98ce35a42757b6974065d80c784f2c 100644 (file)
@@ -396,8 +396,11 @@ static int __init mxc_rtc_probe(struct platform_device *pdev)
        pdata->ioaddr = ioremap(res->start, resource_size(res));
 
        clk = clk_get(&pdev->dev, "ckil");
-       if (IS_ERR(clk))
-               return PTR_ERR(clk);
+       if (IS_ERR(clk)) {
+               iounmap(pdata->ioaddr);
+               ret = PTR_ERR(clk);
+               goto exit_free_pdata;
+       }
 
        rate = clk_get_rate(clk);
        clk_put(clk);