Commit 7c6cbbe3 authored by Andrew Morton's avatar Andrew Morton Committed by Jeff Garzik

[PATCH] e100 locking up netconsole.

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: default avatarIngo Molnar <mingo@elte.hu>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarJeff Garzik <jgarzik@pobox.com>
parent 562accdb
......@@ -1630,6 +1630,7 @@ static void e100_netpoll(struct net_device *netdev)
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
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment