aboutsummaryrefslogtreecommitdiffstats
path: root/net/sched
diff options
context:
space:
mode:
Diffstat (limited to 'net/sched')
-rw-r--r--net/sched/sch_generic.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
index 6f7aebd14072..6128e6f24589 100644
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
@@ -432,11 +432,11 @@ static inline struct sk_buff_head *band2list(struct pfifo_fast_priv *priv,
432 432
433static int pfifo_fast_enqueue(struct sk_buff *skb, struct Qdisc* qdisc) 433static int pfifo_fast_enqueue(struct sk_buff *skb, struct Qdisc* qdisc)
434{ 434{
435 int band = prio2band[skb->priority & TC_PRIO_MAX]; 435 if (skb_queue_len(&qdisc->q) < qdisc_dev(qdisc)->tx_queue_len) {
436 struct pfifo_fast_priv *priv = qdisc_priv(qdisc); 436 int band = prio2band[skb->priority & TC_PRIO_MAX];
437 struct sk_buff_head *list = band2list(priv, band); 437 struct pfifo_fast_priv *priv = qdisc_priv(qdisc);
438 struct sk_buff_head *list = band2list(priv, band);
438 439
439 if (skb_queue_len(list) < qdisc_dev(qdisc)->tx_queue_len) {
440 priv->bitmap |= (1 << band); 440 priv->bitmap |= (1 << band);
441 qdisc->q.qlen++; 441 qdisc->q.qlen++;
442 return __qdisc_enqueue_tail(skb, qdisc, list); 442 return __qdisc_enqueue_tail(skb, qdisc, list);