projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
iio: proximity: as3935: recalibrate RCO after resume
[firefly-linux-kernel-4.4.55.git]
/
net
/
sched
/
sch_sfb.c
diff --git
a/net/sched/sch_sfb.c
b/net/sched/sch_sfb.c
index 5bbb6332ec5746dd1f33a04f4e22bcde5eb787c0..c69611640fa528f340ac7948b25ae24432df6343 100644
(file)
--- a/
net/sched/sch_sfb.c
+++ b/
net/sched/sch_sfb.c
@@
-510,7
+510,8
@@
static int sfb_change(struct Qdisc *sch, struct nlattr *opt)
sch_tree_lock(sch);
sch_tree_lock(sch);
- qdisc_tree_decrease_qlen(q->qdisc, q->qdisc->q.qlen);
+ qdisc_tree_reduce_backlog(q->qdisc, q->qdisc->q.qlen,
+ q->qdisc->qstats.backlog);
qdisc_destroy(q->qdisc);
q->qdisc = child;
qdisc_destroy(q->qdisc);
q->qdisc = child;
@@
-606,12
+607,7
@@
static int sfb_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
if (new == NULL)
new = &noop_qdisc;
if (new == NULL)
new = &noop_qdisc;
- sch_tree_lock(sch);
- *old = q->qdisc;
- q->qdisc = new;
- qdisc_tree_decrease_qlen(*old, (*old)->q.qlen);
- qdisc_reset(*old);
- sch_tree_unlock(sch);
+ *old = qdisc_replace(sch, new, &q->qdisc);
return 0;
}
return 0;
}