Re: Networkl problems with lastest kernel....
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2008-07-21 23:59:57
On Mon, 2008-07-21 at 10:16 -0700, David Miller wrote:
From: Sean MacLennan <redacted> Date: Mon, 21 Jul 2008 13:05:36 -0400quoted
But I have attached the new OOPS anyway.The same problem is still there, this driver will unfortunately require quite a bit more surgery. You can instead add the following patch, it will warn instead of BUG on you, and try to continue.
Argh, EMAC ! I suppose I need to go have a look & fix it :-) EMAC does some strange things such as sharing one NAPI instance for multiple devices. Dunno if that's related to the problem. I need to dig a bit. Cheers, Ben.
quoted hunk ↗ jump to hunk
quoted
From 867d79fb9a4d5929ad8335c896fcfe11c3b2ef14 Mon Sep 17 00:00:00 2001From: Linus Torvalds <torvalds@linux-foundation.org> Date: Mon, 21 Jul 2008 09:54:18 -0700 Subject: [PATCH] net: In __netif_schedule() use WARN_ON instead of BUG_ON Signed-off-by: David S. Miller <davem@davemloft.net> --- net/core/dev.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)diff --git a/net/core/dev.c b/net/core/dev.c index 7e2d527..cbc34c0 100644 --- a/net/core/dev.c +++ b/net/core/dev.c@@ -1327,7 +1327,8 @@ static void dev_queue_xmit_nit(struct sk_buff *skb, struct net_device *dev) void __netif_schedule(struct Qdisc *q) { - BUG_ON(q == &noop_qdisc); + if (WARN_ON_ONCE(q == &noop_qdisc)) + return; if (!test_and_set_bit(__QDISC_STATE_SCHED, &q->state)) { struct softnet_data *sd;