Due to a logic error, there is a loop in an interrupt handler that often goes infinite, thus locking up the entire computer. What follows is taken from another site, could this be fix in Gentoo as it affects my system and obviously others as well. ------------- Hi everyone, This is a tiny patch that fixes a particularly annoying bug in the Realtek 8169 gigabit ethernet driver. Due to a logic error, there is a loop in an interrupt handler that often goes infinite, thus locking up the entire computer. The attached patch fixes the problem. I have patched against linux-2.6.5-rc2-bk6, however the source file in question hasn't been modified for a long time, so the patch should apply cleanly to any recent kernel version. Cheers, Adam. --- linux-2.6.5-rc2-bk6/drivers/net/r8169.c 2004-03-27 17:38:03.000000000 +1000 +++ linux-2.6.5-rc2-bk6a/drivers/net/r8169.c 2004-03-31 18:45:10.000000000 +1000 @@ -33,6 +33,12 @@ - Copy mc_filter setup code from 8139cp (includes an optimization, and avoids set_bit use) +VERSION 1.2a <2004/03/31> Adam Nielsen (a.nielsen@optushome.com.au) + + "else break;" added to the if-statement in rtl8169_tx_interrupt() to prevent + an infinite loop and the resulting kernel lockup when the interrupt is called + with a dirty buffer (perhaps when there's nothing to transmit?) + */ #include <linux/module.h> @@ -892,7 +898,7 @@ tp->Tx_skbuff[entry] = NULL; dirty_tx++; tx_left--; - } + } else break; } if (tp->dirty_tx != dirty_tx) { - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ Reproducible: Always Steps to Reproduce: 1. Generate lots of TCP/IP activity 2. Run a P2P client and have a number of users download data 3. Actual Results: System locks up and will not respond to any form of user input and must be reset by hardware Expected Results: Not crash! haha, I don't know. It should be able to handle high TCP/IP activity N/A
Please send this to the net-dev mailing list, that way it will get added to the main kernel tree (also, no change log entry is needed for such a patch, your change comments will show up in the kernel changelog entries...)