net: sched: use skb_list_walk_safe helper for gso segments
This is a straight-forward conversion case for the new function, keeping the flow of the existing code as intact as possible. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2cec4448db
commit
b950d8a5b3
|
@ -1682,8 +1682,7 @@ static s32 cake_enqueue(struct sk_buff *skb, struct Qdisc *sch,
|
|||
if (IS_ERR_OR_NULL(segs))
|
||||
return qdisc_drop(skb, sch, to_free);
|
||||
|
||||
while (segs) {
|
||||
nskb = segs->next;
|
||||
skb_list_walk_safe(segs, segs, nskb) {
|
||||
skb_mark_not_on_list(segs);
|
||||
qdisc_skb_cb(segs)->pkt_len = segs->len;
|
||||
cobalt_set_enqueue_time(segs, now);
|
||||
|
@ -1696,7 +1695,6 @@ static s32 cake_enqueue(struct sk_buff *skb, struct Qdisc *sch,
|
|||
slen += segs->len;
|
||||
q->buffer_used += segs->truesize;
|
||||
b->packets++;
|
||||
segs = nskb;
|
||||
}
|
||||
|
||||
/* stats */
|
||||
|
|
|
@ -155,8 +155,7 @@ static int tbf_segment(struct sk_buff *skb, struct Qdisc *sch,
|
|||
return qdisc_drop(skb, sch, to_free);
|
||||
|
||||
nb = 0;
|
||||
while (segs) {
|
||||
nskb = segs->next;
|
||||
skb_list_walk_safe(segs, segs, nskb) {
|
||||
skb_mark_not_on_list(segs);
|
||||
qdisc_skb_cb(segs)->pkt_len = segs->len;
|
||||
len += segs->len;
|
||||
|
@ -167,7 +166,6 @@ static int tbf_segment(struct sk_buff *skb, struct Qdisc *sch,
|
|||
} else {
|
||||
nb++;
|
||||
}
|
||||
segs = nskb;
|
||||
}
|
||||
sch->q.qlen += nb;
|
||||
if (nb > 1)
|
||||
|
|
Loading…
Reference in New Issue