[patch 09/10] e100 locking up netconsole.
From: <hidden>
Date: 2005-01-25 02:57:22
From: Steven Rostedt <rostedt@goodmis.org> If the transmit buffer of the e100 overflowed, then the system would hang. This was caused because the e100 driver would stop the queue, and netpoll_send_pkt in netpoll.c would then loop forever. This is because the e100 net_poll would never start the queue again after the transmits have completed. For those that use the e100 and netconsole, all you need to do is a sysreq 't' to lock up the system. Acked-by: Ingo Molnar <redacted> Signed-off-by: Andrew Morton <redacted> --- 25-akpm/drivers/net/e100.c | 1 + 1 files changed, 1 insertion(+) diff -puN drivers/net/e100.c~e100-locking-up-netconsole drivers/net/e100.c
--- 25/drivers/net/e100.c~e100-locking-up-netconsole 2005-01-24 18:55:47.829025720 -0800
+++ 25-akpm/drivers/net/e100.c 2005-01-24 18:55:47.834024960 -0800@@ -1630,6 +1630,7 @@ static void e100_netpoll(struct net_devi struct nic *nic = netdev_priv(netdev); e100_disable_irq(nic); e100_intr(nic->pdev->irq, netdev, NULL); + e100_tx_clean(nic); e100_enable_irq(nic); } #endif
_