These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / net / sched / sch_qfq.c
index 3ec7e88..3dc3a6e 100644 (file)
@@ -186,7 +186,6 @@ struct qfq_sched {
 
        u64                     oldV, V;        /* Precise virtual times. */
        struct qfq_aggregate    *in_serv_agg;   /* Aggregate being served. */
-       u32                     num_active_agg; /* Num. of active aggregates */
        u32                     wsum;           /* weight sum */
        u32                     iwsum;          /* inverse weight sum */
 
@@ -339,8 +338,7 @@ static struct qfq_aggregate *qfq_choose_next_agg(struct qfq_sched *);
 
 static void qfq_destroy_agg(struct qfq_sched *q, struct qfq_aggregate *agg)
 {
-       if (!hlist_unhashed(&agg->nonfull_next))
-               hlist_del_init(&agg->nonfull_next);
+       hlist_del_init(&agg->nonfull_next);
        q->wsum -= agg->class_weight;
        if (q->wsum != 0)
                q->iwsum = ONE_FP / q->wsum;
@@ -719,7 +717,7 @@ static struct qfq_class *qfq_classify(struct sk_buff *skb, struct Qdisc *sch,
 
        *qerr = NET_XMIT_SUCCESS | __NET_XMIT_BYPASS;
        fl = rcu_dereference_bh(q->filter_list);
-       result = tc_classify(skb, fl, &res);
+       result = tc_classify(skb, fl, &res, false);
        if (result >= 0) {
 #ifdef CONFIG_NET_CLS_ACT
                switch (result) {