Re: [PATCH v15 0/13] ax88179_178a: Add support for AX88179A-based chips

From: Jianhui Xu

Date: Sun Oct 04 2026 - 01:27:01 EST


Hi Birger,

I tested the 13-patch v15 series on an AX88179B adapter (USB 0b95:1790,
bcdDevice 0x0200) on the declared net-next base
071876fd50482a68603a9460d80dd6dd58827ee1.

Builds, cold DHCP, 1000/100/10 Mbit/s link changes, EEE, pause settings,
EEPROM reads, autonegotiation restart, module reload, USB reattach, MII
ioctl reads, and repeated 100/1000 Mbit/s transitions all passed. The build
only showed the pre-existing unused mask warning in
asix_ax88772D_get_features(). Deep-S3 resume also passed with both wol
d and wol g; resume was triggered with QEMU system_wakeup, not a magic
packet. The guest later hit an init-exit panic during poweroff, which
appears separate and has not been investigated further.

However, I did find a reproducible RX VLAN filtering failure. With
rx-vlan-filter enabled, ip link add for VLAN 123 or 124 returned
success, but no VLAN interface was created. With the feature disabled,
VLAN creation worked normally.

The first read in ax88179a_vlan_rx_add_vid() returns the byte count on
success, so:

if (ret)
return ret;

returns 1 before the VLAN bitmap is programmed.

The patch below fixes both issues and worked correctly when applied
directly on top of v15.

Because unmodified v15 has this VLAN failure, please do not carry my
previous Tested-by for v15.

Thanks,
Jianhui

Signed-off-by: Jianhui Xu <neuromoments@xxxxxxxxx>
---
drivers/net/usb/ax88179a_devices.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/usb/ax88179a_devices.c b/drivers/net/usb/ax88179a_devices.c
index 16b441fea..f2140e2bb 100644
--- a/drivers/net/usb/ax88179a_devices.c
+++ b/drivers/net/usb/ax88179a_devices.c
@@ -422,7 +422,7 @@ static int ax88179a_vlan_rx_add_vid(struct net_device *net, __be16 proto, u16 vi
u8 reg8;

ret = ax88179_read_cmd(dev, AX_ACCESS_MAC, AX88179A_VLAN_ID_CONTROL, 1, 1, &reg8);
- if (ret)
+ if (ret < 0)
return ret;
vlan_ctrl = reg8;

@@ -438,7 +438,7 @@ static int ax88179a_vlan_rx_add_vid(struct net_device *net, __be16 proto, u16 vi
if (ret < 0)
return ret;

- ax88179_read_cmd(dev, AX_ACCESS_MAC, AX88179A_VLAN_ID_DATA0, 2, 2, &reg16);
+ ret = ax88179_read_cmd(dev, AX_ACCESS_MAC, AX88179A_VLAN_ID_DATA0, 2, 2, &reg16);
if (ret < 0)
return ret;
reg16 |= (1 << (vid % 16));
--
2.56.0