pkt_sched: Fix noqueue_qdisc initialization.
Like noop_qdisc, it needs a dummy backpointer and explicit qdisc->q.lock initialization. Based upon a report by Stephen Hemminger. Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3072367300
commit
30ee42be00
|
@ -340,12 +340,19 @@ static struct Qdisc_ops noqueue_qdisc_ops __read_mostly = {
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct Qdisc noqueue_qdisc;
|
||||||
|
static struct netdev_queue noqueue_netdev_queue = {
|
||||||
|
.qdisc = &noqueue_qdisc,
|
||||||
|
};
|
||||||
|
|
||||||
static struct Qdisc noqueue_qdisc = {
|
static struct Qdisc noqueue_qdisc = {
|
||||||
.enqueue = NULL,
|
.enqueue = NULL,
|
||||||
.dequeue = noop_dequeue,
|
.dequeue = noop_dequeue,
|
||||||
.flags = TCQ_F_BUILTIN,
|
.flags = TCQ_F_BUILTIN,
|
||||||
.ops = &noqueue_qdisc_ops,
|
.ops = &noqueue_qdisc_ops,
|
||||||
.list = LIST_HEAD_INIT(noqueue_qdisc.list),
|
.list = LIST_HEAD_INIT(noqueue_qdisc.list),
|
||||||
|
.q.lock = __SPIN_LOCK_UNLOCKED(noqueue_qdisc.q.lock),
|
||||||
|
.dev_queue = &noqueue_netdev_queue,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue