diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c index d329a8a72357619fbe2b8a883377f4bbb3c2a738..e9d5c911576d7095fad834b8228f3a5d240c56a7 100644 --- a/net/sched/sch_sfq.c +++ b/net/sched/sch_sfq.c @@ -366,11 +366,11 @@ sfq_enqueue(struct sk_buff *skb, struct Qdisc *sch) if (slot->qlen == 1) { /* The flow is new */ if (q->tail == NULL) { /* It is the first flow */ slot->next = x; + q->tail = slot; } else { slot->next = q->tail->next; q->tail->next = x; } - q->tail = slot; slot->allot = q->scaled_quantum; } if (++sch->q.qlen <= q->limit)