Re: [PATCH net-next v8 06/15] ax88179_178a: Add HW support for AX179A-based chips

From: Birger Koblitz

Date: Mon Aug 31 2026 - 14:28:36 EST


On 31/08/2026 4:30 pm, Andrew Lunn wrote:
+static void ax88179a_status(struct usbnet *dev, struct urb *urb)
+{
+ struct ax88179_data *data = dev->driver_priv;
+ struct ax88179_int_data *event;
+ u32 link;
+
+ if (urb->actual_length < 8)
+ return;
+
+ event = urb->transfer_buffer;
+ le32_to_cpus((void *)&event->intdata1);
+
+ link = (((__force u32)event->intdata1) & AX_INT_PPLS_LINK) >> 16;
+
+ if (netif_carrier_ok(dev->net) != link) {

phylink will not like this. It is supposed to be in control of the
carrier.

+ usbnet_link_change(dev, link, 1);

This also seems to change the carrier under some conditions.

+ phylink_mac_interrupt(data->phylink);

Is this not sufficient to make phylink change the carrier once the
status has been read from the PHY?
Yes, indeed. This is actually the only thing that needs to be done
in ax88179a_status(). Will fix in the next round.

Birger