aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/intel/ixgb/ixgb_main.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/net/ethernet/intel/ixgb/ixgb_main.c b/drivers/net/ethernet/intel/ixgb/ixgb_main.c
index f42c201f727f..60801273915c 100644
--- a/drivers/net/ethernet/intel/ixgb/ixgb_main.c
+++ b/drivers/net/ethernet/intel/ixgb/ixgb_main.c
@@ -1220,17 +1220,15 @@ ixgb_tso(struct ixgb_adapter *adapter, struct sk_buff *skb)
1220 unsigned int i; 1220 unsigned int i;
1221 u8 ipcss, ipcso, tucss, tucso, hdr_len; 1221 u8 ipcss, ipcso, tucss, tucso, hdr_len;
1222 u16 ipcse, tucse, mss; 1222 u16 ipcse, tucse, mss;
1223 int err;
1224 1223
1225 if (likely(skb_is_gso(skb))) { 1224 if (likely(skb_is_gso(skb))) {
1226 struct ixgb_buffer *buffer_info; 1225 struct ixgb_buffer *buffer_info;
1227 struct iphdr *iph; 1226 struct iphdr *iph;
1227 int err;
1228 1228
1229 if (skb_header_cloned(skb)) { 1229 err = skb_cow_head(skb, 0);
1230 err = pskb_expand_head(skb, 0, 0, GFP_ATOMIC); 1230 if (err < 0)
1231 if (err) 1231 return err;
1232 return err;
1233 }
1234 1232
1235 hdr_len = skb_transport_offset(skb) + tcp_hdrlen(skb); 1233 hdr_len = skb_transport_offset(skb) + tcp_hdrlen(skb);
1236 mss = skb_shinfo(skb)->gso_size; 1234 mss = skb_shinfo(skb)->gso_size;