@@ -1647,20 +1647,11 @@ static void gfar_configure_serdes(struct net_device *dev)
16471647 */
16481648static int init_phy (struct net_device * dev )
16491649{
1650- __ETHTOOL_DECLARE_LINK_MODE_MASK (mask ) = { 0 , };
16511650 struct gfar_private * priv = netdev_priv (dev );
16521651 phy_interface_t interface = priv -> interface ;
16531652 struct phy_device * phydev ;
16541653 struct ethtool_keee edata ;
16551654
1656- linkmode_set_bit_array (phy_10_100_features_array ,
1657- ARRAY_SIZE (phy_10_100_features_array ),
1658- mask );
1659- linkmode_set_bit (ETHTOOL_LINK_MODE_Autoneg_BIT , mask );
1660- linkmode_set_bit (ETHTOOL_LINK_MODE_MII_BIT , mask );
1661- if (priv -> device_flags & FSL_GIANFAR_DEV_HAS_GIGABIT )
1662- linkmode_set_bit (ETHTOOL_LINK_MODE_1000baseT_Full_BIT , mask );
1663-
16641655 priv -> oldlink = 0 ;
16651656 priv -> oldspeed = 0 ;
16661657 priv -> oldduplex = -1 ;
@@ -1675,9 +1666,8 @@ static int init_phy(struct net_device *dev)
16751666 if (interface == PHY_INTERFACE_MODE_SGMII )
16761667 gfar_configure_serdes (dev );
16771668
1678- /* Remove any features not supported by the controller */
1679- linkmode_and (phydev -> supported , phydev -> supported , mask );
1680- linkmode_copy (phydev -> advertising , phydev -> supported );
1669+ if (!(priv -> device_flags & FSL_GIANFAR_DEV_HAS_GIGABIT ))
1670+ phy_set_max_speed (phydev , SPEED_100 );
16811671
16821672 /* Add support for flow control */
16831673 phy_support_asym_pause (phydev );
0 commit comments