aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/netdevice.h2
-rw-r--r--net/core/dev.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index b60c26b7d31c..bdf5465deb91 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -1858,6 +1858,8 @@ static inline int netif_needs_gso(struct net_device *dev, struct sk_buff *skb)
1858{ 1858{
1859 return skb_is_gso(skb) && 1859 return skb_is_gso(skb) &&
1860 (!skb_gso_ok(skb, dev->features) || 1860 (!skb_gso_ok(skb, dev->features) ||
1861 (skb_shinfo(skb)->frag_list &&
1862 !(dev->features & NETIF_F_FRAGLIST)) ||
1861 unlikely(skb->ip_summed != CHECKSUM_PARTIAL)); 1863 unlikely(skb->ip_summed != CHECKSUM_PARTIAL));
1862} 1864}
1863 1865
diff --git a/net/core/dev.c b/net/core/dev.c
index f54cac76438a..e415f0b0d0d0 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1533,8 +1533,6 @@ struct sk_buff *skb_gso_segment(struct sk_buff *skb, int features)
1533 __be16 type = skb->protocol; 1533 __be16 type = skb->protocol;
1534 int err; 1534 int err;
1535 1535
1536 BUG_ON(skb_shinfo(skb)->frag_list);
1537
1538 skb_reset_mac_header(skb); 1536 skb_reset_mac_header(skb);
1539 skb->mac_len = skb->network_header - skb->mac_header; 1537 skb->mac_len = skb->network_header - skb->mac_header;
1540 __skb_pull(skb, skb->mac_len); 1538 __skb_pull(skb, skb->mac_len);