ixgbe/base: fix X550em flow control to be KR only
authorWenzhuo Lu <wenzhuo.lu@intel.com>
Wed, 24 Jun 2015 03:26:22 +0000 (11:26 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Fri, 26 Jun 2015 10:59:05 +0000 (12:59 +0200)
The code in the if statement is specific to the KR PHY. However,
the conditional was only checking for backplane. If the driver
was using the KX4 backplane PHY, this code would execute but
would write to the wrong PHY.

Signed-off-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
drivers/net/ixgbe/base/ixgbe_x550.c

index 3b6f517..9a3f488 100644 (file)
@@ -2929,7 +2929,7 @@ s32 ixgbe_setup_fc_X550em(struct ixgbe_hw *hw)
                goto out;
        }
 
-       if (hw->phy.media_type == ixgbe_media_type_backplane) {
+       if (hw->device_id == IXGBE_DEV_ID_X550EM_X_KR) {
                ret_val = ixgbe_read_iosf_sb_reg_x550(hw,
                        IXGBE_KRM_AN_CNTL_1(hw->bus.lan_id),
                        IXGBE_SB_IOSF_TARGET_KR_PHY, &reg_val);
@@ -2945,9 +2945,8 @@ s32 ixgbe_setup_fc_X550em(struct ixgbe_hw *hw)
                        IXGBE_KRM_AN_CNTL_1(hw->bus.lan_id),
                        IXGBE_SB_IOSF_TARGET_KR_PHY, reg_val);
 
-               /* Not all devices fully support AN. */
-               if (hw->device_id == IXGBE_DEV_ID_X550EM_X_KR)
-                       hw->fc.disable_fc_autoneg = true;
+               /* This device does not fully support AN. */
+               hw->fc.disable_fc_autoneg = true;
        }
 
 out: