|
@@ -5295,8 +5295,7 @@ static void __napi_gro_flush_chain(struct napi_struct *napi, u32 index,
|
|
list_for_each_entry_safe_reverse(skb, p, head, list) {
|
|
list_for_each_entry_safe_reverse(skb, p, head, list) {
|
|
if (flush_old && NAPI_GRO_CB(skb)->age == jiffies)
|
|
if (flush_old && NAPI_GRO_CB(skb)->age == jiffies)
|
|
return;
|
|
return;
|
|
- list_del(&skb->list);
|
|
|
|
- skb_mark_not_on_list(skb);
|
|
|
|
|
|
+ skb_list_del_init(skb);
|
|
napi_gro_complete(skb);
|
|
napi_gro_complete(skb);
|
|
napi->gro_hash[index].count--;
|
|
napi->gro_hash[index].count--;
|
|
}
|
|
}
|
|
@@ -5481,8 +5480,7 @@ static enum gro_result dev_gro_receive(struct napi_struct *napi, struct sk_buff
|
|
ret = NAPI_GRO_CB(skb)->free ? GRO_MERGED_FREE : GRO_MERGED;
|
|
ret = NAPI_GRO_CB(skb)->free ? GRO_MERGED_FREE : GRO_MERGED;
|
|
|
|
|
|
if (pp) {
|
|
if (pp) {
|
|
- list_del(&pp->list);
|
|
|
|
- skb_mark_not_on_list(pp);
|
|
|
|
|
|
+ skb_list_del_init(pp);
|
|
napi_gro_complete(pp);
|
|
napi_gro_complete(pp);
|
|
napi->gro_hash[hash].count--;
|
|
napi->gro_hash[hash].count--;
|
|
}
|
|
}
|