diff options
author | Dan Carpenter <error27@gmail.com> | 2023-02-27 13:03:22 +0300 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2023-02-28 12:40:12 +0100 |
commit | 8f9850dd8d23c1290cb642ce9548a440da5771ec (patch) | |
tree | 0478b553e3c5f5376d2cce31d73a541a2750ffb7 /drivers/net/phy/phy_device.c | |
parent | 11f180a5d62a51b484e9648f9b310e1bd50b1a57 (diff) |
net: phy: unlock on error in phy_probe()
If genphy_c45_read_eee_adv() fails then we need to do a reset and unlock
the &phydev->lock mutex before returning.
Fixes: 3eeca4e199ce ("net: phy: do not force EEE support")
Signed-off-by: Dan Carpenter <error27@gmail.com>
Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://lore.kernel.org/r/Y/x/6kHCjnQHqOpF@kili
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'drivers/net/phy/phy_device.c')
-rw-r--r-- | drivers/net/phy/phy_device.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index 3f8a64fb9d71..9e9fd8ff00f6 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -3146,7 +3146,7 @@ static int phy_probe(struct device *dev) */ err = genphy_c45_read_eee_adv(phydev, phydev->advertising_eee); if (err) - return err; + goto out; /* There is no "enabled" flag. If PHY is advertising, assume it is * kind of enabled. |