net/ixgbe/base: set default autoneg speed at reset
authorXiao Wang <xiao.w.wang@intel.com>
Sun, 25 Sep 2016 09:00:02 +0000 (17:00 +0800)
committerBruce Richardson <bruce.richardson@intel.com>
Fri, 30 Sep 2016 10:27:18 +0000 (12:27 +0200)
This patch avoids the situation where we initialize an adapter but have not
yet set up phy.autoneg_advertised speeds. In that case we could end
up with having no autoneg speeds enabled and therefore get no link until we
reset the link and set the autoneg speeds correctly.

Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
drivers/net/ixgbe/base/ixgbe_x550.c

index 3c19326..32759cc 100644 (file)
@@ -2283,6 +2283,12 @@ STATIC s32 ixgbe_reset_phy_m88(struct ixgbe_hw *hw)
 
        hw->mac.ops.release_swfw_sync(hw, mask);
 
+       /* In case of first reset set advertised speeds to default value */
+       if (!hw->phy.autoneg_advertised)
+               hw->phy.autoneg_advertised = IXGBE_LINK_SPEED_1GB_FULL |
+                                            IXGBE_LINK_SPEED_100_FULL |
+                                            IXGBE_LINK_SPEED_10_FULL;
+
        return ixgbe_setup_m88(hw);
 
 out: