Commit 3a468736 authored by Russell King (Oracle)'s avatar Russell King (Oracle) Committed by Jakub Kicinski
Browse files

net: stmmac: qcom-ethqos: fix qcom_ethqos_serdes_powerup()



Add cleanup for failure paths in qcom_ethqos_serdes_powerup(). This
was missing calling phy_exit() and phy_power_off() at appropriate
failure points.

Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Reviewed-by: default avatarVadim Fedorenko <vadim.fedorenko@linux.dev>
Tested-by: default avatarMohd Ayaan Anwar <mohd.anwar@oss.qualcomm.com>
Reviewed-by: default avatarMohd Ayaan Anwar <mohd.anwar@oss.qualcomm.com>
Link: https://patch.msgid.link/E1voPUH-000000083ji-25FH@rmk-PC.armlinux.org.uk


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent dc010e1b
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -659,10 +659,18 @@ static int qcom_ethqos_serdes_powerup(struct net_device *ndev, void *priv)
		return ret;

	ret = phy_power_on(ethqos->serdes_phy);
	if (ret)
	if (ret) {
		phy_exit(ethqos->serdes_phy);
		return ret;
	}

	ret = phy_set_speed(ethqos->serdes_phy, ethqos->serdes_speed);
	if (ret) {
		phy_power_off(ethqos->serdes_phy);
		phy_exit(ethqos->serdes_phy);
	}

	return phy_set_speed(ethqos->serdes_phy, ethqos->serdes_speed);
	return ret;
}

static void qcom_ethqos_serdes_powerdown(struct net_device *ndev, void *priv)