linux/drivers/net/arm
Lennert Buytenhek 2d38caba5f [PATCH] ep93xx_eth: fix RX/TXstatus ring full handling
Ray Lehtiniemi reported that an incoming UDP packet flood can lock up
the ep93xx ethernet driver.  Herbert Valerio Riedel noted that due to
the way ep93xx_eth manages the RX/TXstatus rings, it cannot distinguish
a full ring from an empty one, and correctly suggested that this was
likely to be causing this lockup to occur.

Instead of looking at the hardware's RX/TXstatus ring write pointers
to determine when to stop reading from those rings, we should just check
every individual RX/TXstatus descriptor's valid bit instead, since there
is no other way to distinguish an empty ring from a full ring, and if
there is a descriptor waiting, we take the hit of reading the descriptor
from memory anyway.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
2006-10-31 20:22:05 -05:00
..
am79c961a.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
am79c961a.h fix file specification in comments 2006-10-03 23:01:26 +02:00
at91_ether.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
at91_ether.h [PATCH] AT91RM9200 Ethernet #3: Cleanup 2006-06-22 22:56:21 -04:00
ep93xx_eth.c [PATCH] ep93xx_eth: fix RX/TXstatus ring full handling 2006-10-31 20:22:05 -05:00
ether1.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
ether1.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ether3.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
ether3.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
etherh.c drivers/net: const-ify ethtool_ops declarations 2006-09-13 14:30:00 -04:00
Kconfig [PATCH] Cirrus Logic ep93xx ethernet driver 2006-09-22 20:13:23 -04:00
Makefile [PATCH] Cirrus Logic ep93xx ethernet driver 2006-09-22 20:13:23 -04:00