aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/sched/sch_choke.c8
-rw-r--r--net/sched/sch_dsmark.c3
-rw-r--r--net/sched/sch_htb.c4
-rw-r--r--net/sched/sch_teql.c4
4 files changed, 6 insertions, 13 deletions
diff --git a/net/sched/sch_choke.c b/net/sched/sch_choke.c
index 81445cc8196f..cc37dd52ecf9 100644
--- a/net/sched/sch_choke.c
+++ b/net/sched/sch_choke.c
@@ -332,15 +332,13 @@ static int choke_enqueue(struct sk_buff *skb, struct Qdisc *sch)
332 } 332 }
333 333
334 q->stats.pdrop++; 334 q->stats.pdrop++;
335 sch->qstats.drops++; 335 return qdisc_drop(skb, sch);
336 kfree_skb(skb);
337 return NET_XMIT_DROP;
338 336
339 congestion_drop: 337congestion_drop:
340 qdisc_drop(skb, sch); 338 qdisc_drop(skb, sch);
341 return NET_XMIT_CN; 339 return NET_XMIT_CN;
342 340
343 other_drop: 341other_drop:
344 if (ret & __NET_XMIT_BYPASS) 342 if (ret & __NET_XMIT_BYPASS)
345 sch->qstats.drops++; 343 sch->qstats.drops++;
346 kfree_skb(skb); 344 kfree_skb(skb);
diff --git a/net/sched/sch_dsmark.c b/net/sched/sch_dsmark.c
index 389b856c6653..3886365cc207 100644
--- a/net/sched/sch_dsmark.c
+++ b/net/sched/sch_dsmark.c
@@ -265,8 +265,7 @@ static int dsmark_enqueue(struct sk_buff *skb, struct Qdisc *sch)
265 return NET_XMIT_SUCCESS; 265 return NET_XMIT_SUCCESS;
266 266
267drop: 267drop:
268 kfree_skb(skb); 268 qdisc_drop(skb, sch);
269 sch->qstats.drops++;
270 return NET_XMIT_SUCCESS | __NET_XMIT_BYPASS; 269 return NET_XMIT_SUCCESS | __NET_XMIT_BYPASS;
271} 270}
272 271
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c
index 2ea6f196e3c8..acae5b0e3849 100644
--- a/net/sched/sch_htb.c
+++ b/net/sched/sch_htb.c
@@ -558,9 +558,7 @@ static int htb_enqueue(struct sk_buff *skb, struct Qdisc *sch)
558 __skb_queue_tail(&q->direct_queue, skb); 558 __skb_queue_tail(&q->direct_queue, skb);
559 q->direct_pkts++; 559 q->direct_pkts++;
560 } else { 560 } else {
561 kfree_skb(skb); 561 return qdisc_drop(skb, sch);
562 sch->qstats.drops++;
563 return NET_XMIT_DROP;
564 } 562 }
565#ifdef CONFIG_NET_CLS_ACT 563#ifdef CONFIG_NET_CLS_ACT
566 } else if (!cl) { 564 } else if (!cl) {
diff --git a/net/sched/sch_teql.c b/net/sched/sch_teql.c
index 45326599fda3..ca0c29695d51 100644
--- a/net/sched/sch_teql.c
+++ b/net/sched/sch_teql.c
@@ -88,9 +88,7 @@ teql_enqueue(struct sk_buff *skb, struct Qdisc *sch)
88 return NET_XMIT_SUCCESS; 88 return NET_XMIT_SUCCESS;
89 } 89 }
90 90
91 kfree_skb(skb); 91 return qdisc_drop(skb, sch);
92 sch->qstats.drops++;
93 return NET_XMIT_DROP;
94} 92}
95 93
96static struct sk_buff * 94static struct sk_buff *