diff options
author | Wei Yongjun <weiyongjun1@huawei.com> | 2016-10-22 17:33:42 +0300 |
---|---|---|
committer | Kishon Vijay Abraham I <kishon@ti.com> | 2016-11-18 15:49:14 +0300 |
commit | f42bec197d7f6c8c079b62f22ac4857c1e43d28d (patch) | |
tree | 91370bd06b1cd68a2bd9a89716efcbb27f388e68 /drivers/phy | |
parent | 7965ba051e341e94af180efd08815e4254c1bc8c (diff) | |
download | linux-f42bec197d7f6c8c079b62f22ac4857c1e43d28d.tar.xz |
phy: meson8b-usb2: fix missing clk_disable_unprepare() on error
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>
Diffstat (limited to 'drivers/phy')
-rw-r--r-- | drivers/phy/phy-meson8b-usb2.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/phy/phy-meson8b-usb2.c b/drivers/phy/phy-meson8b-usb2.c index 73bf632683e2..dca394732ae3 100644 --- a/drivers/phy/phy-meson8b-usb2.c +++ b/drivers/phy/phy-meson8b-usb2.c @@ -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; } } |