|
@@ -331,11 +331,10 @@ static struct sk_buff *pfifo_fast_dequeue(struct Qdisc* qdisc)
|
|
int prio;
|
|
int prio;
|
|
struct sk_buff_head *list = qdisc_priv(qdisc);
|
|
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--;
|
|
qdisc->q.qlen--;
|
|
- return skb;
|
|
|
|
|
|
+ return __qdisc_dequeue_head(qdisc, list + prio);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|