sh_eth: do not reset PHY needlessly
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Thu, 19 Dec 2013 22:41:12 +0000 (01:41 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 20 Dec 2013 00:09:38 +0000 (19:09 -0500)
There's no need anymore to call phy_init_hw() to reset/resume the PHY from the
driver, as the call chain in phylib already has reached it, and so reset/resumed
the PHY (even resuming it twice). This duplicate reset is not only  needless, it
e.g. clears the PHY's interrupt enables just setup by phylib and so prevents the
expected IRQs from the PHY.

Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/renesas/sh_eth.c

index 9d8013f82019e4d368e3843843fef2bf583cd94f..ca742e1f704e027ba0b4651c98e94fd26148c590 100644 (file)
@@ -1703,11 +1703,6 @@ static int sh_eth_phy_start(struct net_device *ndev)
        if (ret)
                return ret;
 
-       /* reset phy - this also wakes it from PDOWN */
-       ret = phy_init_hw(mdp->phydev);
-       if (ret)
-               return ret;
-
        phy_start(mdp->phydev);
 
        return 0;