phylink_set(mask, 1000baseT_Full);
                break;
        case PHY_INTERFACE_MODE_1000BASEX:
-       case PHY_INTERFACE_MODE_2500BASEX:
                phylink_set(mask, 1000baseX_Full);
+               break;
+       case PHY_INTERFACE_MODE_2500BASEX:
                phylink_set(mask, 2500baseX_Full);
                break;
        case PHY_INTERFACE_MODE_GMII:
 
        linkmode_and(supported, supported, mask);
        linkmode_and(state->advertising, state->advertising, mask);
-
-       /* We can only operate at 2500BaseX or 1000BaseX. If requested
-        * to advertise both, only report advertising at 2500BaseX.
-        */
-       phylink_helper_basex_speed(state);
 }
 
 static const struct phylink_mac_ops mtk_phylink_ops = {