diff options
author | Thomas Graf <tgraf@suug.ch> | 2005-05-31 15:16:52 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2005-05-31 15:16:52 -0700 |
commit | 486b53e59ca8cd07d91ad88375c1c884b15cc9bd (patch) | |
tree | 4130617e9bdef8fbaef12392584496223587bb50 /net | |
parent | 0451eb074eef30240c6c06dacf2911bee26831e1 (diff) | |
download | op-kernel-dev-486b53e59ca8cd07d91ad88375c1c884b15cc9bd.zip op-kernel-dev-486b53e59ca8cd07d91ad88375c1c884b15cc9bd.tar.gz |
[PKT_SCHED]: make dsmark try using pfifo instead of noop while grafting
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/sched/sch_dsmark.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/net/sched/sch_dsmark.c b/net/sched/sch_dsmark.c index acbe9d2..a8c948f 100644 --- a/net/sched/sch_dsmark.c +++ b/net/sched/sch_dsmark.c @@ -73,8 +73,13 @@ static int dsmark_graft(struct Qdisc *sch,unsigned long arg, DPRINTK("dsmark_graft(sch %p,[qdisc %p],new %p,old %p)\n",sch,p,new, old); - if (!new) - new = &noop_qdisc; + + if (new == NULL) { + new = qdisc_create_dflt(sch->dev, &pfifo_qdisc_ops); + if (new == NULL) + new = &noop_qdisc; + } + sch_tree_lock(sch); *old = xchg(&p->q,new); if (*old) |