Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 124380cb authored by Alexey Khoroshilov's avatar Alexey Khoroshilov Committed by Kishon Vijay Abraham I
Browse files

phy: lpc18xx-usb-otg: error handling in lpc18xx_usb_otg_phy_power_on()



If regmap_update_bits() fails in lpc18xx_usb_otg_phy_power_on(),
lpc->clk is left enabled.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: default avatarAlexey Khoroshilov <khoroshilov@ispras.ru>
Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
parent d7119224
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -60,8 +60,14 @@ static int lpc18xx_usb_otg_phy_power_on(struct phy *phy)
		return ret;

	/* The bit in CREG is cleared to enable the PHY */
	return regmap_update_bits(lpc->reg, LPC18XX_CREG_CREG0,
	ret = regmap_update_bits(lpc->reg, LPC18XX_CREG_CREG0,
				  LPC18XX_CREG_CREG0_USB0PHY, 0);
	if (ret) {
		clk_disable(lpc->clk);
		return ret;
	}

	return 0;
}

static int lpc18xx_usb_otg_phy_power_off(struct phy *phy)