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

From: Andrew Lunn

Date: Mon Aug 31 2026 - 14:50:37 EST


> +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?

Andrew