From b720655be58b0849a34cc6c7112ebd8902bbc81f Mon Sep 17 00:00:00 2001 From: Peter Chen Date: Fri, 22 Mar 2013 13:46:23 +0800 Subject: ENGR00255484-3 msl: usb: add clock deinit at fail path If not, the clocks usage will be mismatch Signed-off-by: Peter Chen --- arch/arm/mach-mx6/usb_dr.c | 4 ++++ arch/arm/mach-mx6/usb_h1.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/arch/arm/mach-mx6/usb_dr.c b/arch/arm/mach-mx6/usb_dr.c index b7b0bee153c5..a84362255758 100644 --- a/arch/arm/mach-mx6/usb_dr.c +++ b/arch/arm/mach-mx6/usb_dr.c @@ -154,6 +154,10 @@ static int usbotg_init_ext(struct platform_device *pdev) ret = usbotg_init(pdev); if (ret) { + clk_disable(usb_oh3_clk); + clk_put(usb_oh3_clk); + clk_disable(usb_phy1_clk); + clk_put(usb_phy1_clk); printk(KERN_ERR "otg init fails......\n"); return ret; } diff --git a/arch/arm/mach-mx6/usb_h1.c b/arch/arm/mach-mx6/usb_h1.c index 96a333eafbb9..63a42c8ad8ec 100644 --- a/arch/arm/mach-mx6/usb_h1.c +++ b/arch/arm/mach-mx6/usb_h1.c @@ -158,6 +158,8 @@ static int fsl_usb_host_init_ext(struct platform_device *pdev) ret = fsl_usb_host_init(pdev); if (ret) { printk(KERN_ERR "host1 init fails......\n"); + clk_disable(usb_oh3_clk); + clk_put(usb_oh3_clk); return ret; } usbh1_internal_phy_clock_gate(true); -- cgit v1.2.3