e1000e: disable far-end loopback mode on ESB2
authorBruce Allan <bruce.w.allan@intel.com>
Fri, 13 May 2011 07:19:42 +0000 (07:19 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 10 Jun 2011 03:31:24 +0000 (20:31 -0700)
commitd9b24135b972ccdd5f5174fba06c730e895e6daf
treeae5176a5b75cb8790d6411b5eb269edaaf31aec2
parente357964ee66723d0ced63ac1dbd1db4a6a1d417e
e1000e: disable far-end loopback mode on ESB2

The ESB2 LAN includes a debug feature that enables far-end loopback (FELB)
of the SerDes/Kumeran interface.  This feature is activated when receiving
a sequence of symbols that includes a reserved codeword.  On a perfect
link, FELB would never be activated.  In the presence of bit errors, there
is a very small, but non-zero, probability of FELB being activated.

If the FELB is activated, the SerDes link becomes non-functional and must
be reset.  It could also corrupt the switching tables in the switch since
the ESB2 is transmitting packets with a different source MAC address.

This patch disables the FELB feature.

Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/e1000e/es2lan.c
drivers/net/e1000e/hw.h