From: Steven Rostedt 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 find_skb 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 Signed-off-by: Andrew Morton --- 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 00:07:12.372339872 -0800 +++ 25-akpm/drivers/net/e100.c 2005-01-24 00:07:12.377339112 -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 _