I just spotted something else...

On Mon, Jun 22, 2020 at 01:54:46AM +0300, Ioana Ciornei wrote:
> +static void lynx_pcs_get_state_2500basex(struct mdio_device *pcs,
> +                                      struct phylink_link_state *state)
> +{
> +     struct mii_bus *bus = pcs->bus;
> +     int addr = pcs->addr;
> +     int bmsr, lpa;
> +
> +     bmsr = mdiobus_read(bus, addr, MII_BMSR);
> +     lpa = mdiobus_read(bus, addr, MII_LPA);
> +     if (bmsr < 0 || lpa < 0) {
> +             state->link = false;
> +             return;
> +     }
> +
> +     state->link = !!(bmsr & BMSR_LSTATUS);
> +     state->an_complete = !!(bmsr & BMSR_ANEGCOMPLETE);
> +     if (!state->link)
> +             return;
> +
> +     state->speed = SPEED_2500;

You seem to have missed setting state->duplex here - it defaults to
DUPLEX_UNKNOWN, and will remain as such, which is probably not what
you want.

> +     state->pause |= MLO_PAUSE_TX | MLO_PAUSE_RX;
> +}
-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

Reply via email to