aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Dumazet <eric.dumazet@gmail.com>2010-04-14 18:59:40 -0400
committerDavid S. Miller <davem@davemloft.net>2010-04-14 19:11:33 -0400
commite743d31312d00932391b123dfac3324d2b9e8c81 (patch)
treee5ac3aacbfdde1fe8eb44c4e010085915da5ea05
parentb4bf665c5761837f693e87ab27870a5868185ccc (diff)
drivers: net: use skb_headlen()
replaces (skb->len - skb->data_len) occurrences by skb_headlen(skb) Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/atm/eni.c2
-rw-r--r--drivers/atm/he.c4
-rw-r--r--drivers/net/3c59x.c4
-rw-r--r--drivers/net/atl1e/atl1e_main.c2
-rw-r--r--drivers/net/atlx/atl1.c4
-rw-r--r--drivers/net/benet/be_main.c4
-rw-r--r--drivers/net/chelsio/sge.c8
-rw-r--r--drivers/net/e1000/e1000_main.c4
-rw-r--r--drivers/net/e1000e/netdev.c4
-rw-r--r--drivers/net/ehea/ehea_main.c10
-rw-r--r--drivers/net/forcedeth.c4
-rw-r--r--drivers/net/ixgbevf/ixgbevf_main.c2
-rw-r--r--drivers/net/ksz884x.c2
-rw-r--r--drivers/net/myri10ge/myri10ge.c2
-rw-r--r--drivers/net/s2io.c4
-rw-r--r--drivers/net/tehuti.c2
-rw-r--r--drivers/net/tsi108_eth.c4
17 files changed, 33 insertions, 33 deletions
diff --git a/drivers/atm/eni.c b/drivers/atm/eni.c
index 719ec5a0dca5..90a5a7cac740 100644
--- a/drivers/atm/eni.c
+++ b/drivers/atm/eni.c
@@ -1131,7 +1131,7 @@ DPRINTK("doing direct send\n"); /* @@@ well, this doesn't work anyway */
1131 if (i == -1) 1131 if (i == -1)
1132 put_dma(tx->index,eni_dev->dma,&j,(unsigned long) 1132 put_dma(tx->index,eni_dev->dma,&j,(unsigned long)
1133 skb->data, 1133 skb->data,
1134 skb->len - skb->data_len); 1134 skb_headlen(skb));
1135 else 1135 else
1136 put_dma(tx->index,eni_dev->dma,&j,(unsigned long) 1136 put_dma(tx->index,eni_dev->dma,&j,(unsigned long)
1137 skb_shinfo(skb)->frags[i].page + skb_shinfo(skb)->frags[i].page_offset, 1137 skb_shinfo(skb)->frags[i].page + skb_shinfo(skb)->frags[i].page_offset,
diff --git a/drivers/atm/he.c b/drivers/atm/he.c
index c213e0da0343..56c2e99e458f 100644
--- a/drivers/atm/he.c
+++ b/drivers/atm/he.c
@@ -2664,8 +2664,8 @@ he_send(struct atm_vcc *vcc, struct sk_buff *skb)
2664 2664
2665#ifdef USE_SCATTERGATHER 2665#ifdef USE_SCATTERGATHER
2666 tpd->iovec[slot].addr = pci_map_single(he_dev->pci_dev, skb->data, 2666 tpd->iovec[slot].addr = pci_map_single(he_dev->pci_dev, skb->data,
2667 skb->len - skb->data_len, PCI_DMA_TODEVICE); 2667 skb_headlen(skb), PCI_DMA_TODEVICE);
2668 tpd->iovec[slot].len = skb->len - skb->data_len; 2668 tpd->iovec[slot].len = skb_headlen(skb);
2669 ++slot; 2669 ++slot;
2670 2670
2671 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { 2671 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c
index 5f92fdbe66e2..97525307ed27 100644
--- a/drivers/net/3c59x.c
+++ b/drivers/net/3c59x.c
@@ -2129,8 +2129,8 @@ boomerang_start_xmit(struct sk_buff *skb, struct net_device *dev)
2129 int i; 2129 int i;
2130 2130
2131 vp->tx_ring[entry].frag[0].addr = cpu_to_le32(pci_map_single(VORTEX_PCI(vp), skb->data, 2131 vp->tx_ring[entry].frag[0].addr = cpu_to_le32(pci_map_single(VORTEX_PCI(vp), skb->data,
2132 skb->len-skb->data_len, PCI_DMA_TODEVICE)); 2132 skb_headlen(skb), PCI_DMA_TODEVICE));
2133 vp->tx_ring[entry].frag[0].length = cpu_to_le32(skb->len-skb->data_len); 2133 vp->tx_ring[entry].frag[0].length = cpu_to_le32(skb_headlen(skb));
2134 2134
2135 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) { 2135 for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
2136 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; 2136 skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
diff --git a/drivers/net/atl1e/atl1e_main.c b/drivers/net/atl1e/atl1e_main.c
index b6605d433e91..7dd33776de00 100644
--- a/drivers/net/atl1e/atl1e_main.c
+++ b/drivers/net/atl1e/atl1e_main.c
@@ -1679,7 +1679,7 @@ static void atl1e_tx_map(struct atl1e_adapter *adapter,
1679{ 1679{
1680 struct atl1e_tpd_desc *use_tpd = NULL; 1680 struct atl1e_tpd_desc *use_tpd = NULL;
1681 struct atl1e_tx_buffer *tx_buffer = NULL; 1681 struct atl1e_tx_buffer *tx_buffer = NULL;
1682 u16 buf_len = skb->len - skb->data_len; 1682 u16 buf_len = skb_headlen(skb);
1683 u16 map_len = 0; 1683 u16 map_len = 0;
1684 u16 mapped_len = 0; 1684 u16 mapped_len = 0;
1685 u16 hdr_len = 0; 1685 u16 hdr_len = 0;
diff --git a/drivers/net/atlx/atl1.c b/drivers/net/atlx/atl1.c
index 0ebd8208f606..33448a09b47f 100644
--- a/drivers/net/atlx/atl1.c
+++ b/drivers/net/atlx/atl1.c
@@ -2347,7 +2347,7 @@ static netdev_tx_t atl1_xmit_frame(struct sk_buff *skb,
2347{ 2347{
2348 struct atl1_adapter *adapter = netdev_priv(netdev); 2348 struct atl1_adapter *adapter = netdev_priv(netdev);
2349 struct atl1_tpd_ring *tpd_ring = &adapter->tpd_ring; 2349 struct atl1_tpd_ring *tpd_ring = &adapter->tpd_ring;
2350 int len = skb->len; 2350 int len;
2351 int tso; 2351 int tso;
2352 int count = 1; 2352 int count = 1;
2353 int ret_val; 2353 int ret_val;
@@ -2359,7 +2359,7 @@ static netdev_tx_t atl1_xmit_frame(struct sk_buff *skb,
2359 unsigned int f; 2359 unsigned int f;
2360 unsigned int proto_hdr_len; 2360 unsigned int proto_hdr_len;
2361 2361
2362 len -= skb->data_len; 2362 len = skb_headlen(skb);
2363 2363
2364 if (unlikely(skb->len <= 0)) { 2364 if (unlikely(skb->len <= 0)) {
2365 dev_kfree_skb_any(skb); 2365 dev_kfree_skb_any(skb);
diff --git a/drivers/net/benet/be_main.c b/drivers/net/benet/be_main.c
index 18e0a80d3e61..fa10f13242c3 100644
--- a/drivers/net/benet/be_main.c
+++ b/drivers/net/benet/be_main.c
@@ -432,7 +432,7 @@ static int make_tx_wrbs(struct be_adapter *adapter,
432 map_head = txq->head; 432 map_head = txq->head;
433 433
434 if (skb->len > skb->data_len) { 434 if (skb->len > skb->data_len) {
435 int len = skb->len - skb->data_len; 435 int len = skb_headlen(skb);
436 busaddr = pci_map_single(pdev, skb->data, len, 436 busaddr = pci_map_single(pdev, skb->data, len,
437 PCI_DMA_TODEVICE); 437 PCI_DMA_TODEVICE);
438 if (pci_dma_mapping_error(pdev, busaddr)) 438 if (pci_dma_mapping_error(pdev, busaddr))
@@ -1098,7 +1098,7 @@ static void be_tx_compl_process(struct be_adapter *adapter, u16 last_index)
1098 cur_index = txq->tail; 1098 cur_index = txq->tail;
1099 wrb = queue_tail_node(txq); 1099 wrb = queue_tail_node(txq);
1100 unmap_tx_frag(adapter->pdev, wrb, (unmap_skb_hdr && 1100 unmap_tx_frag(adapter->pdev, wrb, (unmap_skb_hdr &&
1101 sent_skb->len > sent_skb->data_len)); 1101 skb_headlen(sent_skb)));
1102 unmap_skb_hdr = false; 1102 unmap_skb_hdr = false;
1103 1103
1104 num_wrbs++; 1104 num_wrbs++;
diff --git a/drivers/net/chelsio/sge.c b/drivers/net/chelsio/sge.c
index a8ffc1e11c5f..f01cfdb995de 100644
--- a/drivers/net/chelsio/sge.c
+++ b/drivers/net/chelsio/sge.c
@@ -1123,7 +1123,7 @@ static inline unsigned int compute_large_page_tx_descs(struct sk_buff *skb)
1123 1123
1124 if (PAGE_SIZE > SGE_TX_DESC_MAX_PLEN) { 1124 if (PAGE_SIZE > SGE_TX_DESC_MAX_PLEN) {
1125 unsigned int nfrags = skb_shinfo(skb)->nr_frags; 1125 unsigned int nfrags = skb_shinfo(skb)->nr_frags;
1126 unsigned int i, len = skb->len - skb->data_len; 1126 unsigned int i, len = skb_headlen(skb);
1127 while (len > SGE_TX_DESC_MAX_PLEN) { 1127 while (len > SGE_TX_DESC_MAX_PLEN) {
1128 count++; 1128 count++;
1129 len -= SGE_TX_DESC_MAX_PLEN; 1129 len -= SGE_TX_DESC_MAX_PLEN;
@@ -1219,10 +1219,10 @@ static inline void write_tx_descs(struct adapter *adapter, struct sk_buff *skb,
1219 ce = &q->centries[pidx]; 1219 ce = &q->centries[pidx];
1220 1220
1221 mapping = pci_map_single(adapter->pdev, skb->data, 1221 mapping = pci_map_single(adapter->pdev, skb->data,
1222 skb->len - skb->data_len, PCI_DMA_TODEVICE); 1222 skb_headlen(skb), PCI_DMA_TODEVICE);
1223 1223
1224 desc_mapping = mapping; 1224 desc_mapping = mapping;
1225 desc_len = skb->len - skb->data_len; 1225 desc_len = skb_headlen(skb);
1226 1226
1227 flags = F_CMD_DATAVALID | F_CMD_SOP | 1227 flags = F_CMD_DATAVALID | F_CMD_SOP |
1228 V_CMD_EOP(nfrags == 0 && desc_len <= SGE_TX_DESC_MAX_PLEN) | 1228 V_CMD_EOP(nfrags == 0 && desc_len <= SGE_TX_DESC_MAX_PLEN) |
@@ -1258,7 +1258,7 @@ static inline void write_tx_descs(struct adapter *adapter, struct sk_buff *skb,
1258 1258
1259 ce->skb = NULL; 1259 ce->skb = NULL;
1260 dma_unmap_addr_set(ce, dma_addr, mapping); 1260 dma_unmap_addr_set(ce, dma_addr, mapping);
1261 dma_unmap_len_set(ce, dma_len, skb->len - skb->data_len); 1261 dma_unmap_len_set(ce, dma_len, skb_headlen(skb));
1262 1262
1263 for (i = 0; nfrags--; i++) { 1263 for (i = 0; nfrags--; i++) {
1264 skb_frag_t *frag = &skb_shinfo(skb)->frags[i]; 1264 skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 47da5fc1e9f4..974a02d81823 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -2929,7 +2929,7 @@ static netdev_tx_t e1000_xmit_frame(struct sk_buff *skb,
2929 unsigned int first, max_per_txd = E1000_MAX_DATA_PER_TXD; 2929 unsigned int first, max_per_txd = E1000_MAX_DATA_PER_TXD;
2930 unsigned int max_txd_pwr = E1000_MAX_TXD_PWR; 2930 unsigned int max_txd_pwr = E1000_MAX_TXD_PWR;
2931 unsigned int tx_flags = 0; 2931 unsigned int tx_flags = 0;
2932 unsigned int len = skb->len - skb->data_len; 2932 unsigned int len = skb_headlen(skb);
2933 unsigned int nr_frags; 2933 unsigned int nr_frags;
2934 unsigned int mss; 2934 unsigned int mss;
2935 int count = 0; 2935 int count = 0;
@@ -2980,7 +2980,7 @@ static netdev_tx_t e1000_xmit_frame(struct sk_buff *skb,
2980 dev_kfree_skb_any(skb); 2980 dev_kfree_skb_any(skb);
2981 return NETDEV_TX_OK; 2981 return NETDEV_TX_OK;
2982 } 2982 }
2983 len = skb->len - skb->data_len; 2983 len = skb_headlen(skb);
2984 break; 2984 break;
2985 default: 2985 default:
2986 /* do nothing */ 2986 /* do nothing */
diff --git a/drivers/net/e1000e/netdev.c b/drivers/net/e1000e/netdev.c
index 1bd581eedd06..5f70c437fa41 100644
--- a/drivers/net/e1000e/netdev.c
+++ b/drivers/net/e1000e/netdev.c
@@ -4132,7 +4132,7 @@ static netdev_tx_t e1000_xmit_frame(struct sk_buff *skb,
4132 unsigned int max_per_txd = E1000_MAX_PER_TXD; 4132 unsigned int max_per_txd = E1000_MAX_PER_TXD;
4133 unsigned int max_txd_pwr = E1000_MAX_TXD_PWR; 4133 unsigned int max_txd_pwr = E1000_MAX_TXD_PWR;
4134 unsigned int tx_flags = 0; 4134 unsigned int tx_flags = 0;
4135 unsigned int len = skb->len - skb->data_len; 4135 unsigned int len = skb_headlen(skb);
4136 unsigned int nr_frags; 4136 unsigned int nr_frags;
4137 unsigned int mss; 4137 unsigned int mss;
4138 int count = 0; 4138 int count = 0;
@@ -4182,7 +4182,7 @@ static netdev_tx_t e1000_xmit_frame(struct sk_buff *skb,
4182 dev_kfree_skb_any(skb); 4182 dev_kfree_skb_any(skb);
4183 return NETDEV_TX_OK; 4183 return NETDEV_TX_OK;
4184 } 4184 }
4185 len = skb->len - skb->data_len; 4185 len = skb_headlen(skb);
4186 } 4186 }
4187 } 4187 }
4188 4188
diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c
index e2d25fbb6d28..3f445efa9482 100644
--- a/drivers/net/ehea/ehea_main.c
+++ b/drivers/net/ehea/ehea_main.c
@@ -1618,7 +1618,7 @@ static void write_swqe2_TSO(struct sk_buff *skb,
1618{ 1618{
1619 struct ehea_vsgentry *sg1entry = &swqe->u.immdata_desc.sg_entry; 1619 struct ehea_vsgentry *sg1entry = &swqe->u.immdata_desc.sg_entry;
1620 u8 *imm_data = &swqe->u.immdata_desc.immediate_data[0]; 1620 u8 *imm_data = &swqe->u.immdata_desc.immediate_data[0];
1621 int skb_data_size = skb->len - skb->data_len; 1621 int skb_data_size = skb_headlen(skb);
1622 int headersize; 1622 int headersize;
1623 1623
1624 /* Packet is TCP with TSO enabled */ 1624 /* Packet is TCP with TSO enabled */
@@ -1629,7 +1629,7 @@ static void write_swqe2_TSO(struct sk_buff *skb,
1629 */ 1629 */
1630 headersize = ETH_HLEN + ip_hdrlen(skb) + tcp_hdrlen(skb); 1630 headersize = ETH_HLEN + ip_hdrlen(skb) + tcp_hdrlen(skb);
1631 1631
1632 skb_data_size = skb->len - skb->data_len; 1632 skb_data_size = skb_headlen(skb);
1633 1633
1634 if (skb_data_size >= headersize) { 1634 if (skb_data_size >= headersize) {
1635 /* copy immediate data */ 1635 /* copy immediate data */
@@ -1651,7 +1651,7 @@ static void write_swqe2_TSO(struct sk_buff *skb,
1651static void write_swqe2_nonTSO(struct sk_buff *skb, 1651static void write_swqe2_nonTSO(struct sk_buff *skb,
1652 struct ehea_swqe *swqe, u32 lkey) 1652 struct ehea_swqe *swqe, u32 lkey)
1653{ 1653{
1654 int skb_data_size = skb->len - skb->data_len; 1654 int skb_data_size = skb_headlen(skb);
1655 u8 *imm_data = &swqe->u.immdata_desc.immediate_data[0]; 1655 u8 *imm_data = &swqe->u.immdata_desc.immediate_data[0];
1656 struct ehea_vsgentry *sg1entry = &swqe->u.immdata_desc.sg_entry; 1656 struct ehea_vsgentry *sg1entry = &swqe->u.immdata_desc.sg_entry;
1657 1657
@@ -2108,8 +2108,8 @@ static void ehea_xmit3(struct sk_buff *skb, struct net_device *dev,
2108 } else { 2108 } else {
2109 /* first copy data from the skb->data buffer ... */ 2109 /* first copy data from the skb->data buffer ... */
2110 skb_copy_from_linear_data(skb, imm_data, 2110 skb_copy_from_linear_data(skb, imm_data,
2111 skb->len - skb->data_len); 2111 skb_headlen(skb));
2112 imm_data += skb->len - skb->data_len; 2112 imm_data += skb_headlen(skb);
2113 2113
2114 /* ... then copy data from the fragments */ 2114 /* ... then copy data from the fragments */
2115 for (i = 0; i < nfrags; i++) { 2115 for (i = 0; i < nfrags; i++) {
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index 8aa80946d835..a1c0e7bb70e8 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -2148,7 +2148,7 @@ static netdev_tx_t nv_start_xmit(struct sk_buff *skb, struct net_device *dev)
2148 unsigned int i; 2148 unsigned int i;
2149 u32 offset = 0; 2149 u32 offset = 0;
2150 u32 bcnt; 2150 u32 bcnt;
2151 u32 size = skb->len-skb->data_len; 2151 u32 size = skb_headlen(skb);
2152 u32 entries = (size >> NV_TX2_TSO_MAX_SHIFT) + ((size & (NV_TX2_TSO_MAX_SIZE-1)) ? 1 : 0); 2152 u32 entries = (size >> NV_TX2_TSO_MAX_SHIFT) + ((size & (NV_TX2_TSO_MAX_SIZE-1)) ? 1 : 0);
2153 u32 empty_slots; 2153 u32 empty_slots;
2154 struct ring_desc* put_tx; 2154 struct ring_desc* put_tx;
@@ -2269,7 +2269,7 @@ static netdev_tx_t nv_start_xmit_optimized(struct sk_buff *skb,
2269 unsigned int i; 2269 unsigned int i;
2270 u32 offset = 0; 2270 u32 offset = 0;
2271 u32 bcnt; 2271 u32 bcnt;
2272 u32 size = skb->len-skb->data_len; 2272 u32 size = skb_headlen(skb);
2273 u32 entries = (size >> NV_TX2_TSO_MAX_SHIFT) + ((size & (NV_TX2_TSO_MAX_SIZE-1)) ? 1 : 0); 2273 u32 entries = (size >> NV_TX2_TSO_MAX_SHIFT) + ((size & (NV_TX2_TSO_MAX_SIZE-1)) ? 1 : 0);
2274 u32 empty_slots; 2274 u32 empty_slots;
2275 struct ring_desc_ex* put_tx; 2275 struct ring_desc_ex* put_tx;
diff --git a/drivers/net/ixgbevf/ixgbevf_main.c b/drivers/net/ixgbevf/ixgbevf_main.c
index 960e98532ee2..f484161418b6 100644
--- a/drivers/net/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ixgbevf/ixgbevf_main.c
@@ -604,7 +604,7 @@ static bool ixgbevf_clean_rx_irq(struct ixgbevf_q_vector *q_vector,
604 * packets not getting split correctly 604 * packets not getting split correctly
605 */ 605 */
606 if (staterr & IXGBE_RXD_STAT_LB) { 606 if (staterr & IXGBE_RXD_STAT_LB) {
607 u32 header_fixup_len = skb->len - skb->data_len; 607 u32 header_fixup_len = skb_headlen(skb);
608 if (header_fixup_len < 14) 608 if (header_fixup_len < 14)
609 skb_push(skb, header_fixup_len); 609 skb_push(skb, header_fixup_len);
610 } 610 }
diff --git a/drivers/net/ksz884x.c b/drivers/net/ksz884x.c
index 4a231bdb5671..cc0bc8a26085 100644
--- a/drivers/net/ksz884x.c
+++ b/drivers/net/ksz884x.c
@@ -4684,7 +4684,7 @@ static void send_packet(struct sk_buff *skb, struct net_device *dev)
4684 int frag; 4684 int frag;
4685 skb_frag_t *this_frag; 4685 skb_frag_t *this_frag;
4686 4686
4687 dma_buf->len = skb->len - skb->data_len; 4687 dma_buf->len = skb_headlen(skb);
4688 4688
4689 dma_buf->dma = pci_map_single( 4689 dma_buf->dma = pci_map_single(
4690 hw_priv->pdev, skb->data, dma_buf->len, 4690 hw_priv->pdev, skb->data, dma_buf->len,
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index 958dc283d0e7..e0b47cc8a86e 100644
--- a/drivers/net/myri10ge/myri10ge.c
+++ b/drivers/net/myri10ge/myri10ge.c
@@ -2757,7 +2757,7 @@ again:
2757 } 2757 }
2758 2758
2759 /* map the skb for DMA */ 2759 /* map the skb for DMA */
2760 len = skb->len - skb->data_len; 2760 len = skb_headlen(skb);
2761 idx = tx->req & tx->mask; 2761 idx = tx->req & tx->mask;
2762 tx->info[idx].skb = skb; 2762 tx->info[idx].skb = skb;
2763 bus = pci_map_single(mgp->pdev, skb->data, len, PCI_DMA_TODEVICE); 2763 bus = pci_map_single(mgp->pdev, skb->data, len, PCI_DMA_TODEVICE);
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c
index bab0061f30f1..f155928bf14e 100644
--- a/drivers/net/s2io.c
+++ b/drivers/net/s2io.c
@@ -2400,7 +2400,7 @@ static struct sk_buff *s2io_txdl_getskb(struct fifo_info *fifo_data,
2400 return NULL; 2400 return NULL;
2401 } 2401 }
2402 pci_unmap_single(nic->pdev, (dma_addr_t)txds->Buffer_Pointer, 2402 pci_unmap_single(nic->pdev, (dma_addr_t)txds->Buffer_Pointer,
2403 skb->len - skb->data_len, PCI_DMA_TODEVICE); 2403 skb_headlen(skb), PCI_DMA_TODEVICE);
2404 frg_cnt = skb_shinfo(skb)->nr_frags; 2404 frg_cnt = skb_shinfo(skb)->nr_frags;
2405 if (frg_cnt) { 2405 if (frg_cnt) {
2406 txds++; 2406 txds++;
@@ -4202,7 +4202,7 @@ static netdev_tx_t s2io_xmit(struct sk_buff *skb, struct net_device *dev)
4202 txdp->Control_2 |= TXD_VLAN_TAG(vlan_tag); 4202 txdp->Control_2 |= TXD_VLAN_TAG(vlan_tag);
4203 } 4203 }
4204 4204
4205 frg_len = skb->len - skb->data_len; 4205 frg_len = skb_headlen(skb);
4206 if (offload_type == SKB_GSO_UDP) { 4206 if (offload_type == SKB_GSO_UDP) {
4207 int ufo_size; 4207 int ufo_size;
4208 4208
diff --git a/drivers/net/tehuti.c b/drivers/net/tehuti.c
index a38aede5c8d6..e29f495c6a2b 100644
--- a/drivers/net/tehuti.c
+++ b/drivers/net/tehuti.c
@@ -1508,7 +1508,7 @@ bdx_tx_map_skb(struct bdx_priv *priv, struct sk_buff *skb,
1508 int nr_frags = skb_shinfo(skb)->nr_frags; 1508 int nr_frags = skb_shinfo(skb)->nr_frags;
1509 int i; 1509 int i;
1510 1510
1511 db->wptr->len = skb->len - skb->data_len; 1511 db->wptr->len = skb_headlen(skb);
1512 db->wptr->addr.dma = pci_map_single(priv->pdev, skb->data, 1512 db->wptr->addr.dma = pci_map_single(priv->pdev, skb->data,
1513 db->wptr->len, PCI_DMA_TODEVICE); 1513 db->wptr->len, PCI_DMA_TODEVICE);
1514 pbl->len = CPU_CHIP_SWAP32(db->wptr->len); 1514 pbl->len = CPU_CHIP_SWAP32(db->wptr->len);
diff --git a/drivers/net/tsi108_eth.c b/drivers/net/tsi108_eth.c
index 1292d2344a34..a03730bd1da5 100644
--- a/drivers/net/tsi108_eth.c
+++ b/drivers/net/tsi108_eth.c
@@ -704,8 +704,8 @@ static int tsi108_send_packet(struct sk_buff * skb, struct net_device *dev)
704 704
705 if (i == 0) { 705 if (i == 0) {
706 data->txring[tx].buf0 = dma_map_single(NULL, skb->data, 706 data->txring[tx].buf0 = dma_map_single(NULL, skb->data,
707 skb->len - skb->data_len, DMA_TO_DEVICE); 707 skb_headlen(skb), DMA_TO_DEVICE);
708 data->txring[tx].len = skb->len - skb->data_len; 708 data->txring[tx].len = skb_headlen(skb);
709 misc |= TSI108_TX_SOF; 709 misc |= TSI108_TX_SOF;
710 } else { 710 } else {
711 skb_frag_t *frag = &skb_shinfo(skb)->frags[i - 1]; 711 skb_frag_t *frag = &skb_shinfo(skb)->frags[i - 1];