diff options
Diffstat (limited to 'drivers/net/ethernet/intel/e1000e/netdev.c')
-rw-r--r-- | drivers/net/ethernet/intel/e1000e/netdev.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index dce377b59b2c..d50c91e50528 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c | |||
@@ -5100,16 +5100,14 @@ static int e1000_tso(struct e1000_ring *tx_ring, struct sk_buff *skb) | |||
5100 | u32 cmd_length = 0; | 5100 | u32 cmd_length = 0; |
5101 | u16 ipcse = 0, mss; | 5101 | u16 ipcse = 0, mss; |
5102 | u8 ipcss, ipcso, tucss, tucso, hdr_len; | 5102 | u8 ipcss, ipcso, tucss, tucso, hdr_len; |
5103 | int err; | ||
5103 | 5104 | ||
5104 | if (!skb_is_gso(skb)) | 5105 | if (!skb_is_gso(skb)) |
5105 | return 0; | 5106 | return 0; |
5106 | 5107 | ||
5107 | if (skb_header_cloned(skb)) { | 5108 | err = skb_cow_head(skb, 0); |
5108 | int err = pskb_expand_head(skb, 0, 0, GFP_ATOMIC); | 5109 | if (err < 0) |
5109 | 5110 | return err; | |
5110 | if (err) | ||
5111 | return err; | ||
5112 | } | ||
5113 | 5111 | ||
5114 | hdr_len = skb_transport_offset(skb) + tcp_hdrlen(skb); | 5112 | hdr_len = skb_transport_offset(skb) + tcp_hdrlen(skb); |
5115 | mss = skb_shinfo(skb)->gso_size; | 5113 | mss = skb_shinfo(skb)->gso_size; |