@@ -482,7 +482,7 @@ static void sch_atm_dequeue(unsigned long data)
*/
while ((skb = qdisc_dequeue(flow->q))) {
if (!atm_may_send(flow->vcc, skb->truesize)) {
- __skb_queue_tail(&flow->q->requeue, skb);
+ qdisc_requeue(flow->q, skb);
break;
}
pr_debug("atm_tc_dequeue: sending on class %p\n", flow);
@@ -896,7 +896,7 @@ qdisc_peek_len(struct Qdisc *sch)
return 0;
}
len = qdisc_pkt_len(skb);
- __skb_queue_head(&sch->requeue, skb);
+ qdisc_requeue(sch, skb);
return len;
}
@@ -233,7 +233,7 @@ static int netem_enqueue(struct sk_buff *skb, struct Qdisc *sch)
*/
cb->time_to_send = psched_get_time();
q->counter = 0;
- __skb_queue_tail(&q->qdisc->requeue, skb);
+ qdisc_requeue(q->qdisc, skb);
ret = NET_XMIT_SUCCESS;
}
@@ -282,7 +282,7 @@ static struct sk_buff *netem_dequeue(struct Qdisc *sch)
return skb;
}
- __skb_queue_tail(&q->qdisc->requeue, skb);
+ qdisc_requeue(q->qdisc, skb);
qdisc_watchdog_schedule(&q->watchdog, cb->time_to_send);
}
@@ -201,7 +201,7 @@ static struct sk_buff *tbf_dequeue(struct Qdisc* sch)
(cf. CSZ, HPFQ, HFSC)
*/
- __skb_queue_tail(&q->qdisc->requeue, skb);
+ qdisc_requeue(q->qdisc, skb);
sch->qstats.overlimits++;
}
return NULL;
Replace __skb_queue_head() and __skb_queue_tail() to sch->requeue list with qdisc_requeue(). This change adds btw. updates of sch->q.qlen and other stats, and uses __skb_queue_head() everywhere, which is proper replacement for qdisc->ops->requeue() previously used here. Signed-off-by: Jarek Poplawski <jarkao2@gmail.com> --- net/sched/sch_atm.c | 2 +- net/sched/sch_hfsc.c | 2 +- net/sched/sch_netem.c | 4 ++-- net/sched/sch_tbf.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-)