usb: phy: phy-mxs-usb: Check the return value from clk_prepare_enable()
authorFabio Estevam <fabio.estevam@freescale.com>
Mon, 2 Dec 2013 03:02:34 +0000 (01:02 -0200)
committerFelipe Balbi <balbi@ti.com>
Fri, 6 Dec 2013 20:30:56 +0000 (14:30 -0600)
clk_prepare_enable() may fail, so let's check its return value and propagate it
in the case of error.

Acked-by: Peter Chen <peter.chen@freescale.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
drivers/usb/phy/phy-mxs-usb.c

index fdd33b4..797c45b 100644 (file)
@@ -63,9 +63,13 @@ static int mxs_phy_hw_init(struct mxs_phy *mxs_phy)
 
 static int mxs_phy_init(struct usb_phy *phy)
 {
+       int ret;
        struct mxs_phy *mxs_phy = to_mxs_phy(phy);
 
-       clk_prepare_enable(mxs_phy->clk);
+       ret = clk_prepare_enable(mxs_phy->clk);
+       if (ret)
+               return ret;
+
        return mxs_phy_hw_init(mxs_phy);
 }
 
@@ -81,6 +85,7 @@ static void mxs_phy_shutdown(struct usb_phy *phy)
 
 static int mxs_phy_suspend(struct usb_phy *x, int suspend)
 {
+       int ret;
        struct mxs_phy *mxs_phy = to_mxs_phy(x);
 
        if (suspend) {
@@ -89,7 +94,9 @@ static int mxs_phy_suspend(struct usb_phy *x, int suspend)
                       x->io_priv + HW_USBPHY_CTRL_SET);
                clk_disable_unprepare(mxs_phy->clk);
        } else {
-               clk_prepare_enable(mxs_phy->clk);
+               ret = clk_prepare_enable(mxs_phy->clk);
+               if (ret)
+                       return ret;
                writel(BM_USBPHY_CTRL_CLKGATE,
                       x->io_priv + HW_USBPHY_CTRL_CLR);
                writel(0, x->io_priv + HW_USBPHY_PWD);