|
@@ -4482,7 +4482,7 @@ static enum gro_result dev_gro_receive(struct napi_struct *napi, struct sk_buff
|
|
|
if (!(skb->dev->features & NETIF_F_GRO))
|
|
|
goto normal;
|
|
|
|
|
|
- if (skb_is_gso(skb) || skb_has_frag_list(skb) || skb->csum_bad)
|
|
|
+ if (skb->csum_bad)
|
|
|
goto normal;
|
|
|
|
|
|
gro_list_prepare(napi, skb);
|
|
@@ -4495,7 +4495,7 @@ static enum gro_result dev_gro_receive(struct napi_struct *napi, struct sk_buff
|
|
|
skb_set_network_header(skb, skb_gro_offset(skb));
|
|
|
skb_reset_mac_len(skb);
|
|
|
NAPI_GRO_CB(skb)->same_flow = 0;
|
|
|
- NAPI_GRO_CB(skb)->flush = 0;
|
|
|
+ NAPI_GRO_CB(skb)->flush = skb_is_gso(skb) || skb_has_frag_list(skb);
|
|
|
NAPI_GRO_CB(skb)->free = 0;
|
|
|
NAPI_GRO_CB(skb)->encap_mark = 0;
|
|
|
NAPI_GRO_CB(skb)->recursion_counter = 0;
|