diff options
Diffstat (limited to 'drivers/net/ethernet/intel/e1000/e1000_main.c')
-rw-r--r-- | drivers/net/ethernet/intel/e1000/e1000_main.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c index 46e6544ed1b7..27058dfe418b 100644 --- a/drivers/net/ethernet/intel/e1000/e1000_main.c +++ b/drivers/net/ethernet/intel/e1000/e1000_main.c | |||
@@ -2682,14 +2682,13 @@ static int e1000_tso(struct e1000_adapter *adapter, | |||
2682 | u32 cmd_length = 0; | 2682 | u32 cmd_length = 0; |
2683 | u16 ipcse = 0, tucse, mss; | 2683 | u16 ipcse = 0, tucse, mss; |
2684 | u8 ipcss, ipcso, tucss, tucso, hdr_len; | 2684 | u8 ipcss, ipcso, tucss, tucso, hdr_len; |
2685 | int err; | ||
2686 | 2685 | ||
2687 | if (skb_is_gso(skb)) { | 2686 | if (skb_is_gso(skb)) { |
2688 | if (skb_header_cloned(skb)) { | 2687 | int err; |
2689 | err = pskb_expand_head(skb, 0, 0, GFP_ATOMIC); | 2688 | |
2690 | if (err) | 2689 | err = skb_cow_head(skb, 0); |
2691 | return err; | 2690 | if (err < 0) |
2692 | } | 2691 | return err; |
2693 | 2692 | ||
2694 | hdr_len = skb_transport_offset(skb) + tcp_hdrlen(skb); | 2693 | hdr_len = skb_transport_offset(skb) + tcp_hdrlen(skb); |
2695 | mss = skb_shinfo(skb)->gso_size; | 2694 | mss = skb_shinfo(skb)->gso_size; |