aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched/sch_hfsc.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched/sch_hfsc.c')
-rw-r--r--net/sched/sch_hfsc.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/net/sched/sch_hfsc.c b/net/sched/sch_hfsc.c
index 45c31b1a4e1d..5022f9c1f34b 100644
--- a/net/sched/sch_hfsc.c
+++ b/net/sched/sch_hfsc.c
@@ -887,8 +887,7 @@ qdisc_peek_len(struct Qdisc *sch)
887 887
888 skb = sch->ops->peek(sch); 888 skb = sch->ops->peek(sch);
889 if (skb == NULL) { 889 if (skb == NULL) {
890 if (net_ratelimit()) 890 qdisc_warn_nonwc("qdisc_peek_len", sch);
891 printk("qdisc_peek_len: non work-conserving qdisc ?\n");
892 return 0; 891 return 0;
893 } 892 }
894 len = qdisc_pkt_len(skb); 893 len = qdisc_pkt_len(skb);
@@ -1140,8 +1139,11 @@ hfsc_delete_class(struct Qdisc *sch, unsigned long arg)
1140 hfsc_purge_queue(sch, cl); 1139 hfsc_purge_queue(sch, cl);
1141 qdisc_class_hash_remove(&q->clhash, &cl->cl_common); 1140 qdisc_class_hash_remove(&q->clhash, &cl->cl_common);
1142 1141
1143 if (--cl->refcnt == 0) 1142 BUG_ON(--cl->refcnt == 0);
1144 hfsc_destroy_class(sch, cl); 1143 /*
1144 * This shouldn't happen: we "hold" one cops->get() when called
1145 * from tc_ctl_tclass; the destroy method is done from cops->put().
1146 */
1145 1147
1146 sch_tree_unlock(sch); 1148 sch_tree_unlock(sch);
1147 return 0; 1149 return 0;
@@ -1642,8 +1644,7 @@ hfsc_dequeue(struct Qdisc *sch)
1642 1644
1643 skb = qdisc_dequeue_peeked(cl->qdisc); 1645 skb = qdisc_dequeue_peeked(cl->qdisc);
1644 if (skb == NULL) { 1646 if (skb == NULL) {
1645 if (net_ratelimit()) 1647 qdisc_warn_nonwc("HFSC", cl->qdisc);
1646 printk("HFSC: Non-work-conserving qdisc ?\n");
1647 return NULL; 1648 return NULL;
1648 } 1649 }
1649 1650