2d38caba5f
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> |
||
---|---|---|
.. | ||
am79c961a.c | ||
am79c961a.h | ||
at91_ether.c | ||
at91_ether.h | ||
ep93xx_eth.c | ||
ether1.c | ||
ether1.h | ||
ether3.c | ||
ether3.h | ||
etherh.c | ||
Kconfig | ||
Makefile |