[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080816142706.GC7519@ami.dom.local>
Date: Sat, 16 Aug 2008 16:27:07 +0200
From: Jarek Poplawski <jarkao2@...il.com>
To: Denys Fedoryshchenko <denys@...p.net.lb>
Cc: netdev@...r.kernel.org
Subject: Re: panic 2.6.27-rc3-git2, qdisc_dequeue_head
On Sat, Aug 16, 2008 at 04:13:59PM +0300, Denys Fedoryshchenko wrote:
...
> Here is what i got:
> Aug 16 16:07:33 192.168.20.66 kernel: [ 61.930066] ------------[ cut here ]------------
> Aug 16 16:07:33 192.168.20.66 kernel: [ 61.930066] WARNING: at include/linux/skbuff.h:692 qdisc_requeue+0x56/0x6e()
It's very helpful, thanks.
Here is another patch - please apply without removing the previous one yet.
Jarek P.
---
include/net/sch_generic.h | 5 +++++
net/sched/sch_api.c | 2 +-
2 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
index a7abfda..4f28fa7 100644
--- a/include/net/sch_generic.h
+++ b/include/net/sch_generic.h
@@ -193,6 +193,11 @@ static inline struct Qdisc *qdisc_root(struct Qdisc *qdisc)
return qdisc->dev_queue->qdisc;
}
+static inline struct Qdisc *qdisc_root_sleeping(struct Qdisc *qdisc)
+{
+ return qdisc->dev_queue->qdisc_sleeping;
+}
+
/* The qdisc root lock is a mechanism by which to top level
* of a qdisc tree can be locked from any qdisc node in the
* forest. This allows changing the configuration of some
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index c25465e..5c7ae56 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -435,7 +435,7 @@ void qdisc_watchdog_init(struct qdisc_watchdog *wd, struct Qdisc *qdisc)
{
hrtimer_init(&wd->timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
wd->timer.function = qdisc_watchdog;
- wd->qdisc = qdisc;
+ wd->qdisc = qdisc_root_sleeping(qdisc);
}
EXPORT_SYMBOL(qdisc_watchdog_init);
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists