提交 0c9eb5b9 编写于 作者: F Florian Fainelli 提交者: David S. Miller

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: NFlorian Fainelli <f.fainelli@gmail.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 01b0114e
...@@ -1704,7 +1704,10 @@ static int sh_eth_phy_start(struct net_device *ndev) ...@@ -1704,7 +1704,10 @@ static int sh_eth_phy_start(struct net_device *ndev)
return ret; return ret;
/* reset phy - this also wakes it from PDOWN */ /* 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); phy_start(mdp->phydev);
return 0; return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册