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

Commit 0c9eb5b9 authored by Florian Fainelli's avatar Florian Fainelli Committed by David S. Miller
Browse files

net: sh_eth: do not issue a wild PHY reset through BMCR



The sh_eth driver issues an uncontrolled PHY reset through the MII
register BMCR but fails to wait for the reset to complete, and will also
implicitely wipe out all possible PHY fixups applied. Use phy_init_hw()
which remedies both problems.

Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 01b0114e
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -1704,7 +1704,10 @@ static int sh_eth_phy_start(struct net_device *ndev)
		return ret;

	/* reset phy - this also wakes it from PDOWN */
	phy_write(mdp->phydev, MII_BMCR, BMCR_RESET);
	ret = phy_init_hw(mdp->phydev);
	if (ret)
		return ret;

	phy_start(mdp->phydev);

	return 0;