]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: asix: fix "can't send until first packet is send" issue
authorOleksij Rempel <o.rempel@pengutronix.de>
Fri, 24 Jun 2022 07:51:38 +0000 (09:51 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 28 Jun 2022 05:04:33 +0000 (22:04 -0700)
If cable is attached after probe sequence, the usbnet framework would
not automatically start processing RX packets except at least one
packet was transmitted.

On systems with any kind of address auto configuration this issue was
not detected, because some packets are send immediately after link state
is changed to "running".

With this patch we will notify usbnet about link status change provided by the
PHYlib.

Fixes: 1259b629c90b ("net: usb: asix: ax88772: add phylib support")
Reported-by: Anton Lundin <glance@acc.umu.se>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Tested-by: Anton Lundin <glance@acc.umu.se>
Link: https://lore.kernel.org/r/20220624075139.3139300-1-o.rempel@pengutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/usb/asix_common.c

index 632fa6c1d5e307e69abc0d0ec439ba7e6bc9fbdd..b4a1b7abcfc97911dcd3d7bcbd1a93bb5d60745f 100644 (file)
@@ -431,6 +431,7 @@ void asix_adjust_link(struct net_device *netdev)
 
        asix_write_medium_mode(dev, mode, 0);
        phy_print_status(phydev);
+       usbnet_link_change(dev, phydev->link, 0);
 }
 
 int asix_write_gpio(struct usbnet *dev, u16 value, int sleep, int in_pm)