>  static void rtl_speed_down(struct rtl8169_private *tp)
>  {
> -     u32 adv;
> -     int lpa;
> +     struct phy_device *phydev = tp->dev->phydev;
> +     u32 adv = phydev->lp_advertising & phydev->supported;
>  
> -     rtl_writephy(tp, 0x1f, 0x0000);
> -     lpa = rtl_readphy(tp, MII_LPA);
> +     if (adv & BASET10)
> +             phydev->advertising &= ~(BASET100 | BASET1000);
> +     else if (adv & BASET100)
> +             phydev->advertising &= ~BASET1000;

Please use phy_set_max_speed(). We need MAC drivers to stop directly
accessing phydev members. Otherwise we are going to have problems
supporting 2.5G PHYs.

           Andrew

Reply via email to