]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
phy: meson8b-usb2: fix missing clk_disable_unprepare() on error
authorWei Yongjun <weiyongjun1@huawei.com>
Sat, 22 Oct 2016 14:33:42 +0000 (14:33 +0000)
committerKishon Vijay Abraham I <kishon@ti.com>
Fri, 18 Nov 2016 12:49:14 +0000 (18:19 +0530)
Fix the missing clk_disable_unprepare() before return from
phy_meson8b_usb2_power_on() in the error handling case.

Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
drivers/phy/phy-meson8b-usb2.c

index 73bf632683e22c7a5957fe796ee4cc26b5346b33..dca394732ae392426a366005c1a62fe20ada7f82 100644 (file)
@@ -158,6 +158,7 @@ static int phy_meson8b_usb2_power_on(struct phy *phy)
        ret = clk_prepare_enable(priv->clk_usb);
        if (ret) {
                dev_err(&phy->dev, "Failed to enable USB DDR clock\n");
+               clk_disable_unprepare(priv->clk_usb_general);
                return ret;
        }
 
@@ -190,6 +191,8 @@ static int phy_meson8b_usb2_power_on(struct phy *phy)
                if (phy_meson8b_usb2_read(priv, REG_ADP_BC) &
                        REG_ADP_BC_ACA_PIN_FLOAT) {
                        dev_warn(&phy->dev, "USB ID detect failed!\n");
+                       clk_disable_unprepare(priv->clk_usb);
+                       clk_disable_unprepare(priv->clk_usb_general);
                        return -EINVAL;
                }
        }