lan78xx: Don't reset the interface on open
authorPhil Elwell <phil@raspberrypi.org>
Tue, 10 Apr 2018 12:18:25 +0000 (13:18 +0100)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Apr 2018 18:44:45 +0000 (14:44 -0400)
Commit 92571a1aae40 ("lan78xx: Connect phy early") moves the PHY
initialisation into lan78xx_probe, but lan78xx_open subsequently calls
lan78xx_reset. As well as forcing a second round of link negotiation,
this reset frequently prevents the phy interrupt from being generated
(even though the link is up), rendering the interface unusable.

Fix this issue by removing the lan78xx_reset call from lan78xx_open.

Fixes: 92571a1aae40 ("lan78xx: Connect phy early")
Signed-off-by: Phil Elwell <phil@raspberrypi.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/lan78xx.c

index bdb696612e11f066d37b506bbc164e155d80d469..0867f72758522377ccbc38b649ad8aa4cb489b08 100644 (file)
@@ -2515,10 +2515,6 @@ static int lan78xx_open(struct net_device *net)
        if (ret < 0)
                goto out;
 
-       ret = lan78xx_reset(dev);
-       if (ret < 0)
-               goto done;
-
        phy_start(net->phydev);
 
        netif_dbg(dev, ifup, dev->net, "phy initialised successfully");