On Fri, Jul 23, 2021 at 11:01:04PM +0530, Prasanna Vengateshan wrote: > +static void lan937x_phylink_validate(struct dsa_switch *ds, int port, > + unsigned long *supported, > + struct phylink_link_state *state) > +{ > + struct ksz_device *dev = ds->priv; > + __ETHTOOL_DECLARE_LINK_MODE_MASK(mask) = { 0, }; > + > + /* Check for unsupported interfaces */ > + if (!phy_interface_mode_is_rgmii(state->interface) && > + state->interface != PHY_INTERFACE_MODE_RMII && > + state->interface != PHY_INTERFACE_MODE_MII && > + state->interface != PHY_INTERFACE_MODE_INTERNAL) { According to include/linux/phylink.h, when phylink passes state->interface == PHY_INTERFACE_MODE_NA, you are expected to return all supported link modes.