linux/drivers/net/sfc
Ben Hutchings cc11763b35 sfc: Work around XMAC bug causing packet loss with some peers
Received frames must be re-clocked by the local XGXS to the 156.25 MHz
(DDR) clock of the XGMII.  If the remote clock is slightly faster this
can reduce a minimum IPG of 64 bit-times (1 cycle) to 32 bit-times
(half a cycle).  If the XMAC detects that a frame has reached the
maximum RX frame length in the same cycle that it receives one of
these reduced IPGs, it may miss the IPG, causing two valid frames to
be treated as a single invalid frame (over-length with bad CRC).

We work around this by increasing the maximum RX frame length so that
peers with matched MTU will not provoke this bug.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-08-26 17:38:56 -07:00
..
bitfield.h net: replace uses of __constant_{endian} 2009-02-01 00:45:17 -08:00
boards.c sfc: Don't specify unexistent IRQ 2009-04-08 15:59:53 -07:00
boards.h sfc: Add support for SFN4112F SFP+ reference design 2009-03-02 03:15:07 -08:00
efx.c sfc: Fix ordering of device registration and initial netif_carrier_off() 2009-08-26 17:38:49 -07:00
efx.h sfc: Implement adaptive IRQ moderation 2009-03-21 19:06:58 -07:00
enum.h
ethtool.c sfc: Use generic MDIO flow control auto-negotiation functions 2009-04-29 17:32:37 -07:00
ethtool.h
falcon.c sfc: Use generic MDIO functions and definitions 2009-04-29 17:32:30 -07:00
falcon.h sfc: Implement adaptive IRQ moderation 2009-03-21 19:06:58 -07:00
falcon_gmac.c
falcon_hwdefs.h sfc: Do not reinitialise XAUI serdes before it has completed reset 2009-08-26 17:38:51 -07:00
falcon_io.h sfc: Optimise falcon_writel_page_locked() for page > 0 2009-03-21 19:06:56 -07:00
falcon_xmac.c sfc: Do not reinitialise XAUI serdes before it has completed reset 2009-08-26 17:38:51 -07:00
gmii.h
Kconfig sfc: Use generic MDIO functions and definitions 2009-04-29 17:32:30 -07:00
mac.h
Makefile
mdio_10g.c sfc: Use generic MDIO flow control auto-negotiation functions 2009-04-29 17:32:37 -07:00
mdio_10g.h sfc: Use generic MDIO flow control auto-negotiation functions 2009-04-29 17:32:37 -07:00
mtd.c drivers/net/sfc: fix sparse warnings: Should it be static? 2009-02-18 17:49:50 -08:00
net_driver.h sfc: Work around XMAC bug causing packet loss with some peers 2009-08-26 17:38:56 -07:00
phy.h sfc: Add support for QT2025C PHY 2009-03-02 03:15:04 -08:00
rx.c gro: New frags interface to avoid copying shinfo 2009-04-16 02:02:07 -07:00
rx.h sfc: Replace LRO with GRO 2009-01-21 14:34:06 -08:00
selftest.c net: dont update dev->trans_start in 10GB drivers 2009-05-29 01:46:26 -07:00
selftest.h sfc: Use generic MDIO functions and definitions 2009-04-29 17:32:30 -07:00
sfe4001.c sfc: Don't specify unexistent IRQ 2009-04-08 15:59:53 -07:00
spi.h
tenxpress.c sfc: Expose 100/1000BASE-T MDI-X status via ethtool 2009-06-11 02:47:11 -07:00
tx.c net: dont update dev->trans_start in 10GB drivers 2009-05-29 01:46:26 -07:00
tx.h
workarounds.h sfc: Pad packets to 33 bytes to prevent TX packet parser lockup 2009-03-21 19:06:55 -07:00
xfp_phy.c sfc: QT2025C: Use hard reset only 2009-08-26 17:38:54 -07:00