From: Lothar Waßmann Date: Thu, 6 Dec 2012 07:42:27 +0000 (+0100) Subject: mtd: mxc_nand: fix unbalanced clk_disable() in error path X-Git-Tag: v3.8-rc1~47^2~8 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c10d8ee3feaf725007e515b5f2972dffaa793f9a;p=profile%2Fivi%2Fkernel-x86-ivi.git mtd: mxc_nand: fix unbalanced clk_disable() in error path If nand_scan_ident() or nand_scan_tail() fails, the NAND chip may have been deselected and the clock already disabled. Thus, check 'clk_act' in the error path to decide whether the clock still needs to be disabled. This fixes a: |WARNING: at drivers/clk/clk.c:472 __clk_disable+0x3c/0x78() Signed-off-by: Lothar Waßmann Acked-by: Sascha Hauer Signed-off-by: Artem Bityutskiy --- diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c index 4aef6a3..ab0fe38 100644 --- a/drivers/mtd/nand/mxc_nand.c +++ b/drivers/mtd/nand/mxc_nand.c @@ -1533,7 +1533,8 @@ static int mxcnd_probe(struct platform_device *pdev) return 0; escan: - clk_disable_unprepare(host->clk); + if (host->clk_act) + clk_disable_unprepare(host->clk); return err; }