diff options
-rw-r--r-- | net/sched/sch_choke.c | 8 | ||||
-rw-r--r-- | net/sched/sch_dsmark.c | 3 | ||||
-rw-r--r-- | net/sched/sch_htb.c | 4 | ||||
-rw-r--r-- | net/sched/sch_teql.c | 4 |
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: | 337 | congestion_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: | 341 | other_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 | ||
267 | drop: | 267 | drop: |
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 | ||
96 | static struct sk_buff * | 94 | static struct sk_buff * |