aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000/e1000_ethtool.c
diff options
context:
space:
mode:
authorJesse Brandeburg <jesse.brandeburg@intel.com>2009-09-25 08:17:44 -0400
committerDavid S. Miller <davem@davemloft.net>2009-09-26 23:15:36 -0400
commitbe0f071956e2142e2e88e9d6d5655ba1c75d07c8 (patch)
treee0b1be3f259841aaabcfbb02c4495dd2580d0130 /drivers/net/e1000/e1000_ethtool.c
parentbaa34745fe6263c733f43feddb0b8100d6538f37 (diff)
e1000: test link state conclusively
e1000 was using one particular way to detect link, but with the advent of some of the newer hardware designs using SERDES connections, tests for link must completely cover all cases. Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Don Skidmore <donald.c.skidmore@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/e1000/e1000_ethtool.c')
-rw-r--r--drivers/net/e1000/e1000_ethtool.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/e1000/e1000_ethtool.c b/drivers/net/e1000/e1000_ethtool.c
index f2e756f069c6..490b2b7cd3ab 100644
--- a/drivers/net/e1000/e1000_ethtool.c
+++ b/drivers/net/e1000/e1000_ethtool.c
@@ -1481,13 +1481,13 @@ static int e1000_link_test(struct e1000_adapter *adapter, u64 *data)
1481 *data = 0; 1481 *data = 0;
1482 if (hw->media_type == e1000_media_type_internal_serdes) { 1482 if (hw->media_type == e1000_media_type_internal_serdes) {
1483 int i = 0; 1483 int i = 0;
1484 hw->serdes_link_down = true; 1484 hw->serdes_has_link = false;
1485 1485
1486 /* On some blade server designs, link establishment 1486 /* On some blade server designs, link establishment
1487 * could take as long as 2-3 minutes */ 1487 * could take as long as 2-3 minutes */
1488 do { 1488 do {
1489 e1000_check_for_link(hw); 1489 e1000_check_for_link(hw);
1490 if (!hw->serdes_link_down) 1490 if (hw->serdes_has_link)
1491 return *data; 1491 return *data;
1492 msleep(20); 1492 msleep(20);
1493 } while (i++ < 3750); 1493 } while (i++ < 3750);