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 9d8013f..ca742e1 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;