aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/e1000/e1000_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/e1000/e1000_main.c')
-rw-r--r--drivers/net/e1000/e1000_main.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index f06b281c8f6e..6e7d31bacf4d 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -2524,7 +2524,7 @@ e1000_tso(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring,
2524 uint8_t ipcss, ipcso, tucss, tucso, hdr_len; 2524 uint8_t ipcss, ipcso, tucss, tucso, hdr_len;
2525 int err; 2525 int err;
2526 2526
2527 if (skb_shinfo(skb)->gso_size) { 2527 if (skb_is_gso(skb)) {
2528 if (skb_header_cloned(skb)) { 2528 if (skb_header_cloned(skb)) {
2529 err = pskb_expand_head(skb, 0, 0, GFP_ATOMIC); 2529 err = pskb_expand_head(skb, 0, 0, GFP_ATOMIC);
2530 if (err) 2530 if (err)
@@ -2649,7 +2649,7 @@ e1000_tx_map(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring,
2649 * tso gets written back prematurely before the data is fully 2649 * tso gets written back prematurely before the data is fully
2650 * DMA'd to the controller */ 2650 * DMA'd to the controller */
2651 if (!skb->data_len && tx_ring->last_tx_tso && 2651 if (!skb->data_len && tx_ring->last_tx_tso &&
2652 !skb_shinfo(skb)->gso_size) { 2652 !skb_is_gso(skb)) {
2653 tx_ring->last_tx_tso = 0; 2653 tx_ring->last_tx_tso = 0;
2654 size -= 4; 2654 size -= 4;
2655 } 2655 }
@@ -2937,8 +2937,7 @@ e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
2937 2937
2938#ifdef NETIF_F_TSO 2938#ifdef NETIF_F_TSO
2939 /* Controller Erratum workaround */ 2939 /* Controller Erratum workaround */
2940 if (!skb->data_len && tx_ring->last_tx_tso && 2940 if (!skb->data_len && tx_ring->last_tx_tso && !skb_is_gso(skb))
2941 !skb_shinfo(skb)->gso_size)
2942 count++; 2941 count++;
2943#endif 2942#endif
2944 2943