Bläddra i källkod

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>
Wei Yongjun 9 år sedan
förälder
incheckning
f42bec197d
1 ändrade filer med 3 tillägg och 0 borttagningar
  1. 3 0
      drivers/phy/phy-meson8b-usb2.c

+ 3 - 0
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;
 		}
 	}