net_sched: update hierarchical backlog too
[firefly-linux-kernel-4.4.55.git] / net / sched / sch_hfsc.c
index 089f3b667d3607f7b73f38a59c0895c1eb72fb64..d783d7cc33487f284677e107f5083588f559f742 100644 (file)
@@ -895,9 +895,10 @@ static void
 hfsc_purge_queue(struct Qdisc *sch, struct hfsc_class *cl)
 {
        unsigned int len = cl->qdisc->q.qlen;
+       unsigned int backlog = cl->qdisc->qstats.backlog;
 
        qdisc_reset(cl->qdisc);
-       qdisc_tree_decrease_qlen(cl->qdisc, len);
+       qdisc_tree_reduce_backlog(cl->qdisc, len, backlog);
 }
 
 static void