linux/drivers/net/ethernet/intel/igb
Takuma Ueba b72f3f7200 igb: When GbE link up, wait for Remote receiver status condition
I210 device IPv6 autoconf test sometimes fails,
because DAD NS for link-local is not transmitted.
This packet is silently dropped.
This problem is seen only GbE environment.

igb_watchdog_task link up detection continues to the following process.
The following cases are observed:
1.PHY 1000BASE-T Status Register Remote receiver status bit is NG.
(NG status becomes OK after about 200 - 700ms)
2.In this case, the transfer packet is silently dropped.

1000BASE-T Status register
[Expected]: 0x3800 or 0x7800
[problem occurred]: 0x2800 or 0x6800
Frequency of occurrence: approx 1/10 - 1/40 observed

In order to avoid this problem,
wait until 1000BASE-T Status register "Remote receiver status OK"

After applying this patch, at least 400 runs succeed with no problems.

Signed-off-by: Takuma Ueba <t.ueba11@gmail.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2016-02-24 14:56:42 -08:00
..
e1000_82575.c igb: Add workaround for VLAN tag stripping on 82576 2016-02-15 16:52:33 -08:00
e1000_82575.h igb: add flags to set eee advertisement mode 2014-09-06 05:00:39 -07:00
e1000_defines.h igb: Allow asymmetric configuration of MTU versus Rx frame size 2016-02-15 16:27:21 -08:00
e1000_hw.h igb: Refactor VFTA configuration 2016-02-15 16:24:13 -08:00
e1000_i210.c igb: Remove GS40G specific defines/functions 2015-12-14 10:20:06 -08:00
e1000_i210.h igb: Remove GS40G specific defines/functions 2015-12-14 10:20:06 -08:00
e1000_mac.c igb: Merge VLVF configuration into igb_vfta_set 2016-02-15 16:36:52 -08:00
e1000_mac.h igb: Merge VLVF configuration into igb_vfta_set 2016-02-15 16:36:52 -08:00
e1000_mbx.c igb/igbvf: don't give up 2016-02-15 16:17:57 -08:00
e1000_mbx.h igb: Cleanups to change comment style on license headers 2014-04-24 17:26:27 -07:00
e1000_nvm.c igb/ixgbe: remove return statements for void functions 2014-05-23 05:28:41 -07:00
e1000_nvm.h igb: Cleanups to change comment style on license headers 2014-04-24 17:26:27 -07:00
e1000_phy.c igb: Improve cable length function for I210, etc. 2015-12-14 16:04:05 -08:00
e1000_phy.h igb: Remove GS40G specific defines/functions 2015-12-14 10:20:06 -08:00
e1000_regs.h igb: improve handling of disconnected adapters 2015-12-12 23:51:26 -08:00
igb_ethtool.c igb: Explicitly label self-test result indices 2015-12-14 16:07:21 -08:00
igb_hwmon.c igb: Cleanups to change comment style on license headers 2014-04-24 17:26:27 -07:00
igb_main.c igb: When GbE link up, wait for Remote receiver status condition 2016-02-24 14:56:42 -08:00
igb_ptp.c net: igb: avoid using timespec 2015-10-05 03:16:42 -07:00
igb.h igb: Add support for VLAN promiscuous with SR-IOV and NTUPLE 2016-02-15 16:43:06 -08:00
Makefile igb: Update license text to remove FSF address and update copyright. 2014-02-26 15:54:52 -05:00