e1000e: extend timeout for ethtool link test diagnostic
authorBruce Allan <bruce.w.allan@intel.com>
Fri, 25 Feb 2011 06:36:25 +0000 (06:36 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 11 Mar 2011 10:03:35 +0000 (02:03 -0800)
With some PHYs supported by this driver, link establishment can take a
little longer when connected to certain switches.  Extend the timeout to
reduce the number of false diagnostic failures, and cleanup a code style
issue in the same function.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/e1000e/ethtool.c

index d4e51aa231b95ad6d2df068fc3f14081827e847e..8e276dc4b84896bb7fa890cf4dc747f2b01c64fd 100644 (file)
@@ -1666,10 +1666,13 @@ static int e1000_link_test(struct e1000_adapter *adapter, u64 *data)
        } else {
                hw->mac.ops.check_for_link(hw);
                if (hw->mac.autoneg)
-                       msleep(4000);
+                       /*
+                        * On some Phy/switch combinations, link establishment
+                        * can take a few seconds more than expected.
+                        */
+                       msleep(5000);
 
-               if (!(er32(STATUS) &
-                     E1000_STATUS_LU))
+               if (!(er32(STATUS) & E1000_STATUS_LU))
                        *data = 1;
        }
        return *data;