* [PATCH] e100 locking up netconsole.
@ 2005-01-23 1:52 Steven Rostedt
2005-01-23 3:29 ` Steven Rostedt
0 siblings, 1 reply; 2+ messages in thread
From: Steven Rostedt @ 2005-01-23 1:52 UTC (permalink / raw)
To: Ingo Molnar; +Cc: Linux NICS, LKML
I'm currently working with Ingo's RT patched kernel, but I believe this
affects the mainline too.
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.
Here's the patch: (from Ingo's linux-2.6.11-rc2-V0.7.36-02, but should
be OK with 2.6.11-rc2)
Index: drivers/net/e100.c
===================================================================
--- drivers/net/e100.c (revision 60)
+++ drivers/net/e100.c (working copy)
@@ -1630,6 +1630,7 @@
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
-- Steve
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] e100 locking up netconsole.
2005-01-23 1:52 [PATCH] e100 locking up netconsole Steven Rostedt
@ 2005-01-23 3:29 ` Steven Rostedt
0 siblings, 0 replies; 2+ messages in thread
From: Steven Rostedt @ 2005-01-23 3:29 UTC (permalink / raw)
To: Ingo Molnar; +Cc: Linux NICS, LKML
On Sat, 2005-01-22 at 20:52 -0500, Steven Rostedt wrote:
> I'm currently working with Ingo's RT patched kernel, but I believe this
> affects the mainline too.
>
> 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
^^^^^^^^^
Should be netpoll_send_pkt. That's what I get when I search for
"repeat" to remember which function I saw the problem in.
> 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.
>
> Here's the patch: (from Ingo's linux-2.6.11-rc2-V0.7.36-02, but should
> be OK with 2.6.11-rc2)
>
>
> Index: drivers/net/e100.c
> ===================================================================
> --- drivers/net/e100.c (revision 60)
> +++ drivers/net/e100.c (working copy)
> @@ -1630,6 +1630,7 @@
> 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
>
>
>
> -- Steve
>
>
> -
> 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/
--
Steven Rostedt
Senior Engineer
Kihon Technologies
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-01-23 3:29 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-23 1:52 [PATCH] e100 locking up netconsole Steven Rostedt
2005-01-23 3:29 ` Steven Rostedt
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome