e1000e: Spurious interrupts & dropped packets with 82577/8/9 in half-duplex
authorBruce Allan <bruce.w.allan@intel.com>
Fri, 22 Jul 2011 06:21:56 +0000 (06:21 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 13 Aug 2011 09:11:48 +0000 (02:11 -0700)
commit1d2101a712b3b7281a19ff6d7bfc16c2ce9d3998
tree4a33de343896b90fe4312aaa86552ee2db9f4dec
parent63d635b21c00069b5ade7640bcbe8ab912dc65d1
e1000e: Spurious interrupts & dropped packets with 82577/8/9 in half-duplex

On 82577/8/9 in half-duplex when a received packet is passed from the PHY
to the MAC, if too many preamble octects are stripped from the packet
before arriving at the MAC, it can be misintrepeted as an in-band message
rather than an actual frame.  For example, if the frame contents resembled
an interrupt request in-band message, it would trigger a false interrupt.
In most cases, the packet is just dropped.

By reducing the number of preamble octets stripped from the beginning of
the frame when passing it from the PHY to the MAC, the MAC will interpret
the frame properly.

An additional uses of the magic PHY_REG(770, 16) have been updated with a
define introduced with this patch.

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/ich8lan.c