]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
lan78xx: Don't reset the interface on open
authorPhil Elwell <phil@raspberrypi.org>
Thu, 11 Oct 2018 15:18:31 +0000 (17:18 +0200)
committerKhalid Elmously <khalid.elmously@canonical.com>
Tue, 23 Oct 2018 06:45:58 +0000 (08:45 +0200)
BugLink: https://bugs.launchpad.net/bugs/1797406
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>
(cherry picked from commit 47b998653fea4ef69e3e89574956386f262bccca)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/net/usb/lan78xx.c

index 638adbfc18c1b96e585aabf8d73ea46dc02ecfbb..aa3b9b7eb5c8baf0f9a9579a248387ee40649cb1 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");