> +#define MII_DP83822_FIBER_ADVERTISE (SUPPORTED_AUI | SUPPORTED_FIBRE | \ > + SUPPORTED_BNC | SUPPORTED_Pause | \ > + SUPPORTED_Asym_Pause | \ > + SUPPORTED_100baseT_Full) > + > + /* Setup fiber advertisement */ > + err = phy_modify_changed(phydev, MII_ADVERTISE, > + ADVERTISE_1000XFULL | > + ADVERTISE_1000XPAUSE | > + ADVERTISE_1000XPSE_ASYM, > + MII_DP83822_FIBER_ADVERTISE); That looks very odd. SUPPORTED_AUI #define has nothing to do with MII_ADVERTISE register. It is not a bit you can read/write in that register. Andrew