linux/drivers/net/ixgbe
Don Skidmore 54037505a5 ixgbe: fix for 82598 Si errata causing buffer overflow
The failure happens when an interrupt occurs and the driver is reading
EICR.  This read will cause a clear-by-read which leads to two TLP
being inserted in the PCIe retry buffer leading to an overflow of the
buffer and corruption of TLPs.

The solution is different depending where the reading of EICR takes place.

For ixgbe_msix_lsc() since we are in MSIX mode and know OCD is enabled a
clear-by-write is done instead of the normal clear-by-read.

For ixgbe_intr() 0xffffffff is written to EIMC before the read, masking the
interrupts.

Signed-off-by: Don Skidmore <donald.c.skidmore@intel.com>
Acked-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-02-21 15:42:56 -08:00
..
ixgbe_82598.c drivers/net/ixgbe: fix sparse warning: Should it be static? 2009-02-17 17:37:58 -08:00
ixgbe_common.c ixgbe: Update flow control state machine in link setup 2009-02-06 21:46:54 -08:00
ixgbe_common.h ixgbe: Update flow control state machine in link setup 2009-02-06 21:46:54 -08:00
ixgbe_dcb_82598.c ixgbe: Update flow control state machine in link setup 2009-02-06 21:46:54 -08:00
ixgbe_dcb_82598.h ixgbe: Update copyright dates, bump the driver version number 2009-02-01 01:19:20 -08:00
ixgbe_dcb_nl.c ixgbe: Update copyright dates, bump the driver version number 2009-02-01 01:19:20 -08:00
ixgbe_dcb.c ixgbe: Update copyright dates, bump the driver version number 2009-02-01 01:19:20 -08:00
ixgbe_dcb.h ixgbe: Update copyright dates, bump the driver version number 2009-02-01 01:19:20 -08:00
ixgbe_ethtool.c ixgbe: Update flow control state machine in link setup 2009-02-06 21:46:54 -08:00
ixgbe_main.c ixgbe: fix for 82598 Si errata causing buffer overflow 2009-02-21 15:42:56 -08:00
ixgbe_phy.c ixgbe: Update copyright dates, bump the driver version number 2009-02-01 01:19:20 -08:00
ixgbe_phy.h ixgbe: Update copyright dates, bump the driver version number 2009-02-01 01:19:20 -08:00
ixgbe_type.h ixgbe: Update flow control state machine in link setup 2009-02-06 21:46:54 -08:00
ixgbe.h ixgbe: Display EEPROM version in ethtool -i queries 2009-02-05 23:54:42 -08:00
Makefile ixgbe: Update copyright dates, bump the driver version number 2009-02-01 01:19:20 -08:00