diff --git a/[refs] b/[refs] index 73d00b04f371..b1f8c9573f78 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d7c7ed4dbc66c5f4dfa5615cdfc5009af3b3b137 +refs/heads/master: 452f299da3253f65020143f743c2e207b752547b diff --git a/trunk/net/sched/sch_generic.c b/trunk/net/sched/sch_generic.c index 73e218e646ac..8edefd5d095d 100644 --- a/trunk/net/sched/sch_generic.c +++ b/trunk/net/sched/sch_generic.c @@ -331,11 +331,10 @@ static struct sk_buff *pfifo_fast_dequeue(struct Qdisc* qdisc) int prio; struct sk_buff_head *list = qdisc_priv(qdisc); - for (prio = 0; prio < PFIFO_FAST_BANDS; prio++, list++) { - struct sk_buff *skb = __qdisc_dequeue_head(qdisc, list); - if (skb) { + for (prio = 0; prio < PFIFO_FAST_BANDS; prio++) { + if (!skb_queue_empty(list + prio)) { qdisc->q.qlen--; - return skb; + return __qdisc_dequeue_head(qdisc, list + prio); } }