]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: usb: asix: ax88772: re-add usbnet_link_change() in phylink callbacks
authorMarkus Baier <Markus.Baier@soslab.tu-darmstadt.de>
Fri, 1 May 2026 16:39:41 +0000 (18:39 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 5 May 2026 02:04:15 +0000 (19:04 -0700)
commit36bdc0e815b4e8a05b9028d8ef8a25e1ead35cc1
tree37c7fe9a7c231cb98b0d4f5e3fd51f33e3929c62
parent76b93a8107574006b25495664304ea9237494d70
net: usb: asix: ax88772: re-add usbnet_link_change() in phylink callbacks

Commit e0bffe3e6894 ("net: asix: ax88772: migrate to phylink") replaced
the asix_adjust_link() PHY callback with phylink's mac_link_up() and
mac_link_down() handlers, but did not carry over the usbnet_link_change()
notification that commit 805206e66fab ("net: asix: fix "can't send until
first packet is send" issue") had added.

As a result, the original symptom returns: when the link comes up,
usbnet is never notified, so the RX URB submission stays dormant until
some other event (e.g. a transmitted packet triggering the status
endpoint interrupt) wakes it up.

This is reproducible with the Apple A1277 USB Ethernet Adapter
(05ac:1402, AX88772A based) on a Banana Pro using a static IPv4
configuration. After bringing the interface up, no incoming packets are
received until the first outgoing frame triggers usbnet's RX path.

Restore the link change notification, gated on a carrier transition so
the call remains idempotent if the status endpoint also reports the
change later.

Fixes: e0bffe3e6894 ("net: asix: ax88772: migrate to phylink")
Signed-off-by: Markus Baier <Markus.Baier@soslab.tu-darmstadt.de>
Tested-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://patch.msgid.link/20260501163941.107668-1-Markus.Baier@soslab.tu-darmstadt.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/usb/asix_devices.c