]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - net/sched/sch_netem.c
net_sched: introduce qdisc_replace() helper
[karo-tx-linux.git] / net / sched / sch_netem.c
index 5abd1d9de989e6c9777a225c03e42f8194ebda33..0a6ddaf7f56142cbab4fe0df225e90d78c106117 100644 (file)
@@ -1037,15 +1037,7 @@ static int netem_graft(struct Qdisc *sch, unsigned long arg, struct Qdisc *new,
 {
        struct netem_sched_data *q = qdisc_priv(sch);
 
-       sch_tree_lock(sch);
-       *old = q->qdisc;
-       q->qdisc = new;
-       if (*old) {
-               qdisc_tree_decrease_qlen(*old, (*old)->q.qlen);
-               qdisc_reset(*old);
-       }
-       sch_tree_unlock(sch);
-
+       *old = qdisc_replace(sch, new, &q->qdisc);
        return 0;
 }