> + err = of_get_phy_mode(rdev->np_port, ða->phy_interface); > if (err) > return err; > > - err = of_property_read_u32(rdev->np_port, "max-speed", &max_speed); > - if (!err) { > - rdev->etha->speed = max_speed; > - return 0; > - } > - > - /* if no "max-speed" property, let's use default speed */ > - switch (rdev->etha->phy_interface) { > - case PHY_INTERFACE_MODE_MII: > - rdev->etha->speed = SPEED_100; > - break; > + switch (etha->phy_interface) { > case PHY_INTERFACE_MODE_SGMII: > - rdev->etha->speed = SPEED_1000; > + etha->max_speed = SPEED_1000; > break; > case PHY_INTERFACE_MODE_USXGMII: > - rdev->etha->speed = SPEED_2500; > + case PHY_INTERFACE_MODE_5GBASER: > + etha->max_speed = SPEED_2500; If the interface mode is 5GBASER why set the speed to SPEED_2500? Also, USXGMII allows up to 10G. So this all looks a bit odd. Andrew