X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=net%2Fsched%2Fsch_generic.c;h=8edefd5d095d5019bae647ccc845314de65c5264;hb=a8b3e6f10f08f66ae1072efd087b30966a3654f6;hp=73e218e646acea7a0c998831cf1e8564dd42ef29;hpb=717cb906bd43a9ac00631d600adda5c6546843a6;p=linux-2.6 diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c index 73e218e646..8edefd5d09 100644 --- a/net/sched/sch_generic.c +++ b/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); } }