aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgbe/ixgbe_82599.c
diff options
context:
space:
mode:
authorMallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com>2009-06-04 07:11:13 -0400
committerDavid S. Miller <davem@davemloft.net>2009-06-07 08:20:19 -0400
commit620fa036b2459ca9acf7484c8074147f0dda68da (patch)
tree22ed490ea8f6c711c6c6e6779583dee475cc9729 /drivers/net/ixgbe/ixgbe_82599.c
parent50ac58ba1d707df33f0c398ae700214e49bf918f (diff)
ixgbe: Fix 82599 adapter link flickering issues
Fix autoneg restart issues in flow control path which might create endless link flickering due to known timing issues with 82599 adapters. Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakakla@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ixgbe/ixgbe_82599.c')
-rw-r--r--drivers/net/ixgbe/ixgbe_82599.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/net/ixgbe/ixgbe_82599.c b/drivers/net/ixgbe/ixgbe_82599.c
index 84b83f7b473f..4d83e5916593 100644
--- a/drivers/net/ixgbe/ixgbe_82599.c
+++ b/drivers/net/ixgbe/ixgbe_82599.c
@@ -413,9 +413,6 @@ s32 ixgbe_setup_mac_link_82599(struct ixgbe_hw *hw)
413 } 413 }
414 } 414 }
415 415
416 /* Set up flow control */
417 status = ixgbe_setup_fc_generic(hw, 0);
418
419 /* Add delay to filter out noises during initial link setup */ 416 /* Add delay to filter out noises during initial link setup */
420 msleep(50); 417 msleep(50);
421 418
@@ -641,6 +638,11 @@ s32 ixgbe_check_mac_link_82599(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
641 else 638 else
642 *speed = IXGBE_LINK_SPEED_100_FULL; 639 *speed = IXGBE_LINK_SPEED_100_FULL;
643 640
641 /* if link is down, zero out the current_mode */
642 if (*link_up == false) {
643 hw->fc.current_mode = ixgbe_fc_none;
644 hw->fc.fc_was_autonegged = false;
645 }
644 646
645 return 0; 647 return 0;
646} 648}
@@ -747,9 +749,6 @@ s32 ixgbe_setup_mac_link_speed_82599(struct ixgbe_hw *hw,
747 } 749 }
748 } 750 }
749 751
750 /* Set up flow control */
751 status = ixgbe_setup_fc_generic(hw, 0);
752
753 /* Add delay to filter out noises during initial link setup */ 752 /* Add delay to filter out noises during initial link setup */
754 msleep(50); 753 msleep(50);
755 } 754 }
@@ -1509,7 +1508,7 @@ static struct ixgbe_mac_operations mac_ops_82599 = {
1509 .disable_mc = &ixgbe_disable_mc_generic, 1508 .disable_mc = &ixgbe_disable_mc_generic,
1510 .clear_vfta = &ixgbe_clear_vfta_82599, 1509 .clear_vfta = &ixgbe_clear_vfta_82599,
1511 .set_vfta = &ixgbe_set_vfta_82599, 1510 .set_vfta = &ixgbe_set_vfta_82599,
1512 .setup_fc = &ixgbe_setup_fc_generic, 1511 .fc_enable = &ixgbe_fc_enable_generic,
1513 .init_uta_tables = &ixgbe_init_uta_tables_82599, 1512 .init_uta_tables = &ixgbe_init_uta_tables_82599,
1514 .setup_sfp = &ixgbe_setup_sfp_modules_82599, 1513 .setup_sfp = &ixgbe_setup_sfp_modules_82599,
1515}; 1514};