diff options
45 files changed, 66 insertions, 73 deletions
diff --git a/arch/ppc/8260_io/enet.c b/arch/ppc/8260_io/enet.c index 4c0a7d732f69..615b6583d9b0 100644 --- a/arch/ppc/8260_io/enet.c +++ b/arch/ppc/8260_io/enet.c | |||
@@ -477,9 +477,9 @@ for (;;) { | |||
477 | } | 477 | } |
478 | else { | 478 | else { |
479 | skb_put(skb,pkt_len-4); /* Make room */ | 479 | skb_put(skb,pkt_len-4); /* Make room */ |
480 | eth_copy_and_sum(skb, | 480 | skb_copy_to_linear_data(skb, |
481 | (unsigned char *)__va(bdp->cbd_bufaddr), | 481 | (unsigned char *)__va(bdp->cbd_bufaddr), |
482 | pkt_len-4, 0); | 482 | pkt_len-4); |
483 | skb->protocol=eth_type_trans(skb,dev); | 483 | skb->protocol=eth_type_trans(skb,dev); |
484 | netif_rx(skb); | 484 | netif_rx(skb); |
485 | } | 485 | } |
diff --git a/arch/ppc/8260_io/fcc_enet.c b/arch/ppc/8260_io/fcc_enet.c index cab395da25da..6f3ed6a72e0b 100644 --- a/arch/ppc/8260_io/fcc_enet.c +++ b/arch/ppc/8260_io/fcc_enet.c | |||
@@ -734,9 +734,9 @@ for (;;) { | |||
734 | } | 734 | } |
735 | else { | 735 | else { |
736 | skb_put(skb,pkt_len); /* Make room */ | 736 | skb_put(skb,pkt_len); /* Make room */ |
737 | eth_copy_and_sum(skb, | 737 | skb_copy_to_linear_data(skb, |
738 | (unsigned char *)__va(bdp->cbd_bufaddr), | 738 | (unsigned char *)__va(bdp->cbd_bufaddr), |
739 | pkt_len, 0); | 739 | pkt_len); |
740 | skb->protocol=eth_type_trans(skb,dev); | 740 | skb->protocol=eth_type_trans(skb,dev); |
741 | netif_rx(skb); | 741 | netif_rx(skb); |
742 | } | 742 | } |
diff --git a/arch/ppc/8xx_io/enet.c b/arch/ppc/8xx_io/enet.c index e58288e14369..703d47eee436 100644 --- a/arch/ppc/8xx_io/enet.c +++ b/arch/ppc/8xx_io/enet.c | |||
@@ -506,9 +506,9 @@ for (;;) { | |||
506 | } | 506 | } |
507 | else { | 507 | else { |
508 | skb_put(skb,pkt_len-4); /* Make room */ | 508 | skb_put(skb,pkt_len-4); /* Make room */ |
509 | eth_copy_and_sum(skb, | 509 | skb_copy_to_linear_data(skb, |
510 | cep->rx_vaddr[bdp - cep->rx_bd_base], | 510 | cep->rx_vaddr[bdp - cep->rx_bd_base], |
511 | pkt_len-4, 0); | 511 | pkt_len-4); |
512 | skb->protocol=eth_type_trans(skb,dev); | 512 | skb->protocol=eth_type_trans(skb,dev); |
513 | netif_rx(skb); | 513 | netif_rx(skb); |
514 | } | 514 | } |
diff --git a/arch/ppc/8xx_io/fec.c b/arch/ppc/8xx_io/fec.c index d38335d2d710..0288279be9aa 100644 --- a/arch/ppc/8xx_io/fec.c +++ b/arch/ppc/8xx_io/fec.c | |||
@@ -725,7 +725,7 @@ while (!(bdp->cbd_sc & BD_ENET_RX_EMPTY)) { | |||
725 | fep->stats.rx_dropped++; | 725 | fep->stats.rx_dropped++; |
726 | } else { | 726 | } else { |
727 | skb_put(skb,pkt_len-4); /* Make room */ | 727 | skb_put(skb,pkt_len-4); /* Make room */ |
728 | eth_copy_and_sum(skb, data, pkt_len-4, 0); | 728 | skb_copy_to_linear_data(skb, data, pkt_len-4); |
729 | skb->protocol=eth_type_trans(skb,dev); | 729 | skb->protocol=eth_type_trans(skb,dev); |
730 | netif_rx(skb); | 730 | netif_rx(skb); |
731 | } | 731 | } |
diff --git a/drivers/net/3c523.c b/drivers/net/3c523.c index da1a22c13865..ab18343e58ef 100644 --- a/drivers/net/3c523.c +++ b/drivers/net/3c523.c | |||
@@ -990,7 +990,7 @@ static void elmc_rcv_int(struct net_device *dev) | |||
990 | if (skb != NULL) { | 990 | if (skb != NULL) { |
991 | skb_reserve(skb, 2); /* 16 byte alignment */ | 991 | skb_reserve(skb, 2); /* 16 byte alignment */ |
992 | skb_put(skb,totlen); | 992 | skb_put(skb,totlen); |
993 | eth_copy_and_sum(skb, (char *) p->base+(unsigned long) rbd->buffer,totlen,0); | 993 | skb_copy_to_linear_data(skb, (char *) p->base+(unsigned long) rbd->buffer,totlen); |
994 | skb->protocol = eth_type_trans(skb, dev); | 994 | skb->protocol = eth_type_trans(skb, dev); |
995 | netif_rx(skb); | 995 | netif_rx(skb); |
996 | dev->last_rx = jiffies; | 996 | dev->last_rx = jiffies; |
diff --git a/drivers/net/7990.c b/drivers/net/7990.c index 0877fc372f4b..e89ace109a5d 100644 --- a/drivers/net/7990.c +++ b/drivers/net/7990.c | |||
@@ -333,9 +333,9 @@ static int lance_rx (struct net_device *dev) | |||
333 | 333 | ||
334 | skb_reserve (skb, 2); /* 16 byte align */ | 334 | skb_reserve (skb, 2); /* 16 byte align */ |
335 | skb_put (skb, len); /* make room */ | 335 | skb_put (skb, len); /* make room */ |
336 | eth_copy_and_sum(skb, | 336 | skb_copy_to_linear_data(skb, |
337 | (unsigned char *)&(ib->rx_buf [lp->rx_new][0]), | 337 | (unsigned char *)&(ib->rx_buf [lp->rx_new][0]), |
338 | len, 0); | 338 | len); |
339 | skb->protocol = eth_type_trans (skb, dev); | 339 | skb->protocol = eth_type_trans (skb, dev); |
340 | netif_rx (skb); | 340 | netif_rx (skb); |
341 | dev->last_rx = jiffies; | 341 | dev->last_rx = jiffies; |
diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c index a844b1fe2dc4..21a6ccbf92e0 100644 --- a/drivers/net/8139too.c +++ b/drivers/net/8139too.c | |||
@@ -2017,7 +2017,7 @@ no_early_rx: | |||
2017 | #if RX_BUF_IDX == 3 | 2017 | #if RX_BUF_IDX == 3 |
2018 | wrap_copy(skb, rx_ring, ring_offset+4, pkt_size); | 2018 | wrap_copy(skb, rx_ring, ring_offset+4, pkt_size); |
2019 | #else | 2019 | #else |
2020 | eth_copy_and_sum (skb, &rx_ring[ring_offset + 4], pkt_size, 0); | 2020 | skb_copy_to_linear_data (skb, &rx_ring[ring_offset + 4], pkt_size); |
2021 | #endif | 2021 | #endif |
2022 | skb_put (skb, pkt_size); | 2022 | skb_put (skb, pkt_size); |
2023 | 2023 | ||
diff --git a/drivers/net/a2065.c b/drivers/net/a2065.c index 81d5a374042a..a45de6975bfe 100644 --- a/drivers/net/a2065.c +++ b/drivers/net/a2065.c | |||
@@ -322,9 +322,9 @@ static int lance_rx (struct net_device *dev) | |||
322 | 322 | ||
323 | skb_reserve (skb, 2); /* 16 byte align */ | 323 | skb_reserve (skb, 2); /* 16 byte align */ |
324 | skb_put (skb, len); /* make room */ | 324 | skb_put (skb, len); /* make room */ |
325 | eth_copy_and_sum(skb, | 325 | skb_copy_to_linear_data(skb, |
326 | (unsigned char *)&(ib->rx_buf [lp->rx_new][0]), | 326 | (unsigned char *)&(ib->rx_buf [lp->rx_new][0]), |
327 | len, 0); | 327 | len); |
328 | skb->protocol = eth_type_trans (skb, dev); | 328 | skb->protocol = eth_type_trans (skb, dev); |
329 | netif_rx (skb); | 329 | netif_rx (skb); |
330 | dev->last_rx = jiffies; | 330 | dev->last_rx = jiffies; |
diff --git a/drivers/net/ariadne.c b/drivers/net/ariadne.c index a241ae7855a3..bc5a38a6705f 100644 --- a/drivers/net/ariadne.c +++ b/drivers/net/ariadne.c | |||
@@ -746,7 +746,7 @@ static int ariadne_rx(struct net_device *dev) | |||
746 | 746 | ||
747 | skb_reserve(skb,2); /* 16 byte align */ | 747 | skb_reserve(skb,2); /* 16 byte align */ |
748 | skb_put(skb,pkt_len); /* Make room */ | 748 | skb_put(skb,pkt_len); /* Make room */ |
749 | eth_copy_and_sum(skb, (char *)priv->rx_buff[entry], pkt_len,0); | 749 | skb_copy_to_linear_data(skb, (char *)priv->rx_buff[entry], pkt_len); |
750 | skb->protocol=eth_type_trans(skb,dev); | 750 | skb->protocol=eth_type_trans(skb,dev); |
751 | #if 0 | 751 | #if 0 |
752 | printk(KERN_DEBUG "RX pkt type 0x%04x from ", | 752 | printk(KERN_DEBUG "RX pkt type 0x%04x from ", |
diff --git a/drivers/net/arm/ep93xx_eth.c b/drivers/net/arm/ep93xx_eth.c index 2438c5bff237..f6ece1d43f6e 100644 --- a/drivers/net/arm/ep93xx_eth.c +++ b/drivers/net/arm/ep93xx_eth.c | |||
@@ -258,7 +258,7 @@ static int ep93xx_rx(struct net_device *dev, int *budget) | |||
258 | skb_reserve(skb, 2); | 258 | skb_reserve(skb, 2); |
259 | dma_sync_single(NULL, ep->descs->rdesc[entry].buf_addr, | 259 | dma_sync_single(NULL, ep->descs->rdesc[entry].buf_addr, |
260 | length, DMA_FROM_DEVICE); | 260 | length, DMA_FROM_DEVICE); |
261 | eth_copy_and_sum(skb, ep->rx_buf[entry], length, 0); | 261 | skb_copy_to_linear_data(skb, ep->rx_buf[entry], length); |
262 | skb_put(skb, length); | 262 | skb_put(skb, length); |
263 | skb->protocol = eth_type_trans(skb, dev); | 263 | skb->protocol = eth_type_trans(skb, dev); |
264 | 264 | ||
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c index c27cfcef45fa..e86b3691765b 100644 --- a/drivers/net/au1000_eth.c +++ b/drivers/net/au1000_eth.c | |||
@@ -1205,8 +1205,8 @@ static int au1000_rx(struct net_device *dev) | |||
1205 | continue; | 1205 | continue; |
1206 | } | 1206 | } |
1207 | skb_reserve(skb, 2); /* 16 byte IP header align */ | 1207 | skb_reserve(skb, 2); /* 16 byte IP header align */ |
1208 | eth_copy_and_sum(skb, | 1208 | skb_copy_to_linear_data(skb, |
1209 | (unsigned char *)pDB->vaddr, frmlen, 0); | 1209 | (unsigned char *)pDB->vaddr, frmlen); |
1210 | skb_put(skb, frmlen); | 1210 | skb_put(skb, frmlen); |
1211 | skb->protocol = eth_type_trans(skb, dev); | 1211 | skb->protocol = eth_type_trans(skb, dev); |
1212 | netif_rx(skb); /* pass the packet to upper layers */ | 1212 | netif_rx(skb); /* pass the packet to upper layers */ |
diff --git a/drivers/net/dl2k.c b/drivers/net/dl2k.c index 74ec64a1625d..a4ace071f1cb 100644 --- a/drivers/net/dl2k.c +++ b/drivers/net/dl2k.c | |||
@@ -866,9 +866,9 @@ receive_packet (struct net_device *dev) | |||
866 | PCI_DMA_FROMDEVICE); | 866 | PCI_DMA_FROMDEVICE); |
867 | /* 16 byte align the IP header */ | 867 | /* 16 byte align the IP header */ |
868 | skb_reserve (skb, 2); | 868 | skb_reserve (skb, 2); |
869 | eth_copy_and_sum (skb, | 869 | skb_copy_to_linear_data (skb, |
870 | np->rx_skbuff[entry]->data, | 870 | np->rx_skbuff[entry]->data, |
871 | pkt_len, 0); | 871 | pkt_len); |
872 | skb_put (skb, pkt_len); | 872 | skb_put (skb, pkt_len); |
873 | pci_dma_sync_single_for_device(np->pdev, | 873 | pci_dma_sync_single_for_device(np->pdev, |
874 | desc->fraginfo & | 874 | desc->fraginfo & |
diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c index 9800341956a2..9afa47edfc58 100644 --- a/drivers/net/eepro100.c +++ b/drivers/net/eepro100.c | |||
@@ -1801,7 +1801,7 @@ speedo_rx(struct net_device *dev) | |||
1801 | 1801 | ||
1802 | #if 1 || USE_IP_CSUM | 1802 | #if 1 || USE_IP_CSUM |
1803 | /* Packet is in one chunk -- we can copy + cksum. */ | 1803 | /* Packet is in one chunk -- we can copy + cksum. */ |
1804 | eth_copy_and_sum(skb, sp->rx_skbuff[entry]->data, pkt_len, 0); | 1804 | skb_copy_to_linear_data(skb, sp->rx_skbuff[entry]->data, pkt_len); |
1805 | skb_put(skb, pkt_len); | 1805 | skb_put(skb, pkt_len); |
1806 | #else | 1806 | #else |
1807 | skb_copy_from_linear_data(sp->rx_skbuff[entry], | 1807 | skb_copy_from_linear_data(sp->rx_skbuff[entry], |
diff --git a/drivers/net/epic100.c b/drivers/net/epic100.c index 5e517946f46a..119778401e48 100644 --- a/drivers/net/epic100.c +++ b/drivers/net/epic100.c | |||
@@ -1201,7 +1201,7 @@ static int epic_rx(struct net_device *dev, int budget) | |||
1201 | ep->rx_ring[entry].bufaddr, | 1201 | ep->rx_ring[entry].bufaddr, |
1202 | ep->rx_buf_sz, | 1202 | ep->rx_buf_sz, |
1203 | PCI_DMA_FROMDEVICE); | 1203 | PCI_DMA_FROMDEVICE); |
1204 | eth_copy_and_sum(skb, ep->rx_skbuff[entry]->data, pkt_len, 0); | 1204 | skb_copy_to_linear_data(skb, ep->rx_skbuff[entry]->data, pkt_len); |
1205 | skb_put(skb, pkt_len); | 1205 | skb_put(skb, pkt_len); |
1206 | pci_dma_sync_single_for_device(ep->pci_dev, | 1206 | pci_dma_sync_single_for_device(ep->pci_dev, |
1207 | ep->rx_ring[entry].bufaddr, | 1207 | ep->rx_ring[entry].bufaddr, |
diff --git a/drivers/net/fealnx.c b/drivers/net/fealnx.c index abe9b089c610..ff9f177d7157 100644 --- a/drivers/net/fealnx.c +++ b/drivers/net/fealnx.c | |||
@@ -1727,8 +1727,8 @@ static int netdev_rx(struct net_device *dev) | |||
1727 | /* Call copy + cksum if available. */ | 1727 | /* Call copy + cksum if available. */ |
1728 | 1728 | ||
1729 | #if ! defined(__alpha__) | 1729 | #if ! defined(__alpha__) |
1730 | eth_copy_and_sum(skb, | 1730 | skb_copy_to_linear_data(skb, |
1731 | np->cur_rx->skbuff->data, pkt_len, 0); | 1731 | np->cur_rx->skbuff->data, pkt_len); |
1732 | skb_put(skb, pkt_len); | 1732 | skb_put(skb, pkt_len); |
1733 | #else | 1733 | #else |
1734 | memcpy(skb_put(skb, pkt_len), | 1734 | memcpy(skb_put(skb, pkt_len), |
diff --git a/drivers/net/fec.c b/drivers/net/fec.c index 255b09124e11..03023dd17829 100644 --- a/drivers/net/fec.c +++ b/drivers/net/fec.c | |||
@@ -648,7 +648,7 @@ while (!((status = bdp->cbd_sc) & BD_ENET_RX_EMPTY)) { | |||
648 | fep->stats.rx_dropped++; | 648 | fep->stats.rx_dropped++; |
649 | } else { | 649 | } else { |
650 | skb_put(skb,pkt_len-4); /* Make room */ | 650 | skb_put(skb,pkt_len-4); /* Make room */ |
651 | eth_copy_and_sum(skb, data, pkt_len-4, 0); | 651 | skb_copy_to_linear_data(skb, data, pkt_len-4); |
652 | skb->protocol=eth_type_trans(skb,dev); | 652 | skb->protocol=eth_type_trans(skb,dev); |
653 | netif_rx(skb); | 653 | netif_rx(skb); |
654 | } | 654 | } |
diff --git a/drivers/net/hamachi.c b/drivers/net/hamachi.c index 2521b111b3a5..15254dc7876a 100644 --- a/drivers/net/hamachi.c +++ b/drivers/net/hamachi.c | |||
@@ -1575,8 +1575,8 @@ static int hamachi_rx(struct net_device *dev) | |||
1575 | PCI_DMA_FROMDEVICE); | 1575 | PCI_DMA_FROMDEVICE); |
1576 | /* Call copy + cksum if available. */ | 1576 | /* Call copy + cksum if available. */ |
1577 | #if 1 || USE_IP_COPYSUM | 1577 | #if 1 || USE_IP_COPYSUM |
1578 | eth_copy_and_sum(skb, | 1578 | skb_copy_to_linear_data(skb, |
1579 | hmp->rx_skbuff[entry]->data, pkt_len, 0); | 1579 | hmp->rx_skbuff[entry]->data, pkt_len); |
1580 | skb_put(skb, pkt_len); | 1580 | skb_put(skb, pkt_len); |
1581 | #else | 1581 | #else |
1582 | memcpy(skb_put(skb, pkt_len), hmp->rx_ring_dma | 1582 | memcpy(skb_put(skb, pkt_len), hmp->rx_ring_dma |
diff --git a/drivers/net/ixp2000/ixpdev.c b/drivers/net/ixp2000/ixpdev.c index d5f694fc4a21..d9ce1aef148a 100644 --- a/drivers/net/ixp2000/ixpdev.c +++ b/drivers/net/ixp2000/ixpdev.c | |||
@@ -111,7 +111,7 @@ static int ixpdev_rx(struct net_device *dev, int *budget) | |||
111 | skb = dev_alloc_skb(desc->pkt_length + 2); | 111 | skb = dev_alloc_skb(desc->pkt_length + 2); |
112 | if (likely(skb != NULL)) { | 112 | if (likely(skb != NULL)) { |
113 | skb_reserve(skb, 2); | 113 | skb_reserve(skb, 2); |
114 | eth_copy_and_sum(skb, buf, desc->pkt_length, 0); | 114 | skb_copy_to_linear_data(skb, buf, desc->pkt_length); |
115 | skb_put(skb, desc->pkt_length); | 115 | skb_put(skb, desc->pkt_length); |
116 | skb->protocol = eth_type_trans(skb, nds[desc->channel]); | 116 | skb->protocol = eth_type_trans(skb, nds[desc->channel]); |
117 | 117 | ||
diff --git a/drivers/net/lance.c b/drivers/net/lance.c index 0fe96c85828b..a2f37e52b928 100644 --- a/drivers/net/lance.c +++ b/drivers/net/lance.c | |||
@@ -1186,9 +1186,9 @@ lance_rx(struct net_device *dev) | |||
1186 | } | 1186 | } |
1187 | skb_reserve(skb,2); /* 16 byte align */ | 1187 | skb_reserve(skb,2); /* 16 byte align */ |
1188 | skb_put(skb,pkt_len); /* Make room */ | 1188 | skb_put(skb,pkt_len); /* Make room */ |
1189 | eth_copy_and_sum(skb, | 1189 | skb_copy_to_linear_data(skb, |
1190 | (unsigned char *)isa_bus_to_virt((lp->rx_ring[entry].base & 0x00ffffff)), | 1190 | (unsigned char *)isa_bus_to_virt((lp->rx_ring[entry].base & 0x00ffffff)), |
1191 | pkt_len,0); | 1191 | pkt_len); |
1192 | skb->protocol=eth_type_trans(skb,dev); | 1192 | skb->protocol=eth_type_trans(skb,dev); |
1193 | netif_rx(skb); | 1193 | netif_rx(skb); |
1194 | dev->last_rx = jiffies; | 1194 | dev->last_rx = jiffies; |
diff --git a/drivers/net/natsemi.c b/drivers/net/natsemi.c index 460a08718c69..3450051ae56b 100644 --- a/drivers/net/natsemi.c +++ b/drivers/net/natsemi.c | |||
@@ -2357,8 +2357,8 @@ static void netdev_rx(struct net_device *dev, int *work_done, int work_to_do) | |||
2357 | np->rx_dma[entry], | 2357 | np->rx_dma[entry], |
2358 | buflen, | 2358 | buflen, |
2359 | PCI_DMA_FROMDEVICE); | 2359 | PCI_DMA_FROMDEVICE); |
2360 | eth_copy_and_sum(skb, | 2360 | skb_copy_to_linear_data(skb, |
2361 | np->rx_skbuff[entry]->data, pkt_len, 0); | 2361 | np->rx_skbuff[entry]->data, pkt_len); |
2362 | skb_put(skb, pkt_len); | 2362 | skb_put(skb, pkt_len); |
2363 | pci_dma_sync_single_for_device(np->pci_dev, | 2363 | pci_dma_sync_single_for_device(np->pci_dev, |
2364 | np->rx_dma[entry], | 2364 | np->rx_dma[entry], |
diff --git a/drivers/net/ni52.c b/drivers/net/ni52.c index 8dbd6d1900b5..5e7999db2096 100644 --- a/drivers/net/ni52.c +++ b/drivers/net/ni52.c | |||
@@ -936,7 +936,7 @@ static void ni52_rcv_int(struct net_device *dev) | |||
936 | { | 936 | { |
937 | skb_reserve(skb,2); | 937 | skb_reserve(skb,2); |
938 | skb_put(skb,totlen); | 938 | skb_put(skb,totlen); |
939 | eth_copy_and_sum(skb,(char *) p->base+(unsigned long) rbd->buffer,totlen,0); | 939 | skb_copy_to_linear_data(skb,(char *) p->base+(unsigned long) rbd->buffer,totlen); |
940 | skb->protocol=eth_type_trans(skb,dev); | 940 | skb->protocol=eth_type_trans(skb,dev); |
941 | netif_rx(skb); | 941 | netif_rx(skb); |
942 | dev->last_rx = jiffies; | 942 | dev->last_rx = jiffies; |
diff --git a/drivers/net/ni65.c b/drivers/net/ni65.c index 3818edf0ac18..4ef5fe345191 100644 --- a/drivers/net/ni65.c +++ b/drivers/net/ni65.c | |||
@@ -1096,7 +1096,7 @@ static void ni65_recv_intr(struct net_device *dev,int csr0) | |||
1096 | #ifdef RCV_VIA_SKB | 1096 | #ifdef RCV_VIA_SKB |
1097 | if( (unsigned long) (skb->data + R_BUF_SIZE) > 0x1000000) { | 1097 | if( (unsigned long) (skb->data + R_BUF_SIZE) > 0x1000000) { |
1098 | skb_put(skb,len); | 1098 | skb_put(skb,len); |
1099 | eth_copy_and_sum(skb, (unsigned char *)(p->recv_skb[p->rmdnum]->data),len,0); | 1099 | skb_copy_to_linear_data(skb, (unsigned char *)(p->recv_skb[p->rmdnum]->data),len); |
1100 | } | 1100 | } |
1101 | else { | 1101 | else { |
1102 | struct sk_buff *skb1 = p->recv_skb[p->rmdnum]; | 1102 | struct sk_buff *skb1 = p->recv_skb[p->rmdnum]; |
@@ -1108,7 +1108,7 @@ static void ni65_recv_intr(struct net_device *dev,int csr0) | |||
1108 | } | 1108 | } |
1109 | #else | 1109 | #else |
1110 | skb_put(skb,len); | 1110 | skb_put(skb,len); |
1111 | eth_copy_and_sum(skb, (unsigned char *) p->recvbounce[p->rmdnum],len,0); | 1111 | skb_copy_to_linear_data(skb, (unsigned char *) p->recvbounce[p->rmdnum],len); |
1112 | #endif | 1112 | #endif |
1113 | p->stats.rx_packets++; | 1113 | p->stats.rx_packets++; |
1114 | p->stats.rx_bytes += len; | 1114 | p->stats.rx_bytes += len; |
diff --git a/drivers/net/pci-skeleton.c b/drivers/net/pci-skeleton.c index df8998b4f37e..3cdbe118200b 100644 --- a/drivers/net/pci-skeleton.c +++ b/drivers/net/pci-skeleton.c | |||
@@ -1567,7 +1567,7 @@ static void netdrv_rx_interrupt (struct net_device *dev, | |||
1567 | if (skb) { | 1567 | if (skb) { |
1568 | skb_reserve (skb, 2); /* 16 byte align the IP fields. */ | 1568 | skb_reserve (skb, 2); /* 16 byte align the IP fields. */ |
1569 | 1569 | ||
1570 | eth_copy_and_sum (skb, &rx_ring[ring_offset + 4], pkt_size, 0); | 1570 | skb_copy_to_linear_data (skb, &rx_ring[ring_offset + 4], pkt_size); |
1571 | skb_put (skb, pkt_size); | 1571 | skb_put (skb, pkt_size); |
1572 | 1572 | ||
1573 | skb->protocol = eth_type_trans (skb, dev); | 1573 | skb->protocol = eth_type_trans (skb, dev); |
diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c index 9c171a7390e2..465485a3fbc6 100644 --- a/drivers/net/pcnet32.c +++ b/drivers/net/pcnet32.c | |||
@@ -1235,9 +1235,9 @@ static void pcnet32_rx_entry(struct net_device *dev, | |||
1235 | lp->rx_dma_addr[entry], | 1235 | lp->rx_dma_addr[entry], |
1236 | pkt_len, | 1236 | pkt_len, |
1237 | PCI_DMA_FROMDEVICE); | 1237 | PCI_DMA_FROMDEVICE); |
1238 | eth_copy_and_sum(skb, | 1238 | skb_copy_to_linear_data(skb, |
1239 | (unsigned char *)(lp->rx_skbuff[entry]->data), | 1239 | (unsigned char *)(lp->rx_skbuff[entry]->data), |
1240 | pkt_len, 0); | 1240 | pkt_len); |
1241 | pci_dma_sync_single_for_device(lp->pci_dev, | 1241 | pci_dma_sync_single_for_device(lp->pci_dev, |
1242 | lp->rx_dma_addr[entry], | 1242 | lp->rx_dma_addr[entry], |
1243 | pkt_len, | 1243 | pkt_len, |
diff --git a/drivers/net/saa9730.c b/drivers/net/saa9730.c index ad94358ece89..451486b32f23 100644 --- a/drivers/net/saa9730.c +++ b/drivers/net/saa9730.c | |||
@@ -690,9 +690,9 @@ static int lan_saa9730_rx(struct net_device *dev) | |||
690 | lp->stats.rx_packets++; | 690 | lp->stats.rx_packets++; |
691 | skb_reserve(skb, 2); /* 16 byte align */ | 691 | skb_reserve(skb, 2); /* 16 byte align */ |
692 | skb_put(skb, len); /* make room */ | 692 | skb_put(skb, len); /* make room */ |
693 | eth_copy_and_sum(skb, | 693 | skb_copy_to_linear_data(skb, |
694 | (unsigned char *) pData, | 694 | (unsigned char *) pData, |
695 | len, 0); | 695 | len); |
696 | skb->protocol = eth_type_trans(skb, dev); | 696 | skb->protocol = eth_type_trans(skb, dev); |
697 | netif_rx(skb); | 697 | netif_rx(skb); |
698 | dev->last_rx = jiffies; | 698 | dev->last_rx = jiffies; |
diff --git a/drivers/net/sgiseeq.c b/drivers/net/sgiseeq.c index 2106becf6990..384b4685e977 100644 --- a/drivers/net/sgiseeq.c +++ b/drivers/net/sgiseeq.c | |||
@@ -320,7 +320,7 @@ static inline void sgiseeq_rx(struct net_device *dev, struct sgiseeq_private *sp | |||
320 | skb_put(skb, len); | 320 | skb_put(skb, len); |
321 | 321 | ||
322 | /* Copy out of kseg1 to avoid silly cache flush. */ | 322 | /* Copy out of kseg1 to avoid silly cache flush. */ |
323 | eth_copy_and_sum(skb, pkt_pointer + 2, len, 0); | 323 | skb_copy_to_linear_data(skb, pkt_pointer + 2, len); |
324 | skb->protocol = eth_type_trans(skb, dev); | 324 | skb->protocol = eth_type_trans(skb, dev); |
325 | 325 | ||
326 | /* We don't want to receive our own packets */ | 326 | /* We don't want to receive our own packets */ |
diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c index bc8de48da313..ec2ad9f0efa2 100644 --- a/drivers/net/sis190.c +++ b/drivers/net/sis190.c | |||
@@ -548,7 +548,7 @@ static inline int sis190_try_rx_copy(struct sk_buff **sk_buff, int pkt_size, | |||
548 | skb = dev_alloc_skb(pkt_size + NET_IP_ALIGN); | 548 | skb = dev_alloc_skb(pkt_size + NET_IP_ALIGN); |
549 | if (skb) { | 549 | if (skb) { |
550 | skb_reserve(skb, NET_IP_ALIGN); | 550 | skb_reserve(skb, NET_IP_ALIGN); |
551 | eth_copy_and_sum(skb, sk_buff[0]->data, pkt_size, 0); | 551 | skb_copy_to_linear_data(skb, sk_buff[0]->data, pkt_size); |
552 | *sk_buff = skb; | 552 | *sk_buff = skb; |
553 | sis190_give_to_asic(desc, rx_buf_sz); | 553 | sis190_give_to_asic(desc, rx_buf_sz); |
554 | ret = 0; | 554 | ret = 0; |
diff --git a/drivers/net/starfire.c b/drivers/net/starfire.c index 786d4b9c07ec..f2e101967204 100644 --- a/drivers/net/starfire.c +++ b/drivers/net/starfire.c | |||
@@ -1456,7 +1456,7 @@ static int __netdev_rx(struct net_device *dev, int *quota) | |||
1456 | pci_dma_sync_single_for_cpu(np->pci_dev, | 1456 | pci_dma_sync_single_for_cpu(np->pci_dev, |
1457 | np->rx_info[entry].mapping, | 1457 | np->rx_info[entry].mapping, |
1458 | pkt_len, PCI_DMA_FROMDEVICE); | 1458 | pkt_len, PCI_DMA_FROMDEVICE); |
1459 | eth_copy_and_sum(skb, np->rx_info[entry].skb->data, pkt_len, 0); | 1459 | skb_copy_to_linear_data(skb, np->rx_info[entry].skb->data, pkt_len); |
1460 | pci_dma_sync_single_for_device(np->pci_dev, | 1460 | pci_dma_sync_single_for_device(np->pci_dev, |
1461 | np->rx_info[entry].mapping, | 1461 | np->rx_info[entry].mapping, |
1462 | pkt_len, PCI_DMA_FROMDEVICE); | 1462 | pkt_len, PCI_DMA_FROMDEVICE); |
diff --git a/drivers/net/sun3_82586.c b/drivers/net/sun3_82586.c index a123ea87893b..b77ab6e8fd35 100644 --- a/drivers/net/sun3_82586.c +++ b/drivers/net/sun3_82586.c | |||
@@ -777,7 +777,7 @@ static void sun3_82586_rcv_int(struct net_device *dev) | |||
777 | { | 777 | { |
778 | skb_reserve(skb,2); | 778 | skb_reserve(skb,2); |
779 | skb_put(skb,totlen); | 779 | skb_put(skb,totlen); |
780 | eth_copy_and_sum(skb,(char *) p->base+swab32((unsigned long) rbd->buffer),totlen,0); | 780 | skb_copy_to_linear_data(skb,(char *) p->base+swab32((unsigned long) rbd->buffer),totlen); |
781 | skb->protocol=eth_type_trans(skb,dev); | 781 | skb->protocol=eth_type_trans(skb,dev); |
782 | netif_rx(skb); | 782 | netif_rx(skb); |
783 | p->stats.rx_packets++; | 783 | p->stats.rx_packets++; |
diff --git a/drivers/net/sun3lance.c b/drivers/net/sun3lance.c index 791e081fdc15..f1548c033327 100644 --- a/drivers/net/sun3lance.c +++ b/drivers/net/sun3lance.c | |||
@@ -853,10 +853,9 @@ static int lance_rx( struct net_device *dev ) | |||
853 | 853 | ||
854 | skb_reserve( skb, 2 ); /* 16 byte align */ | 854 | skb_reserve( skb, 2 ); /* 16 byte align */ |
855 | skb_put( skb, pkt_len ); /* Make room */ | 855 | skb_put( skb, pkt_len ); /* Make room */ |
856 | // skb_copy_to_linear_data(skb, PKTBUF_ADDR(head), pkt_len); | 856 | skb_copy_to_linear_data(skb, |
857 | eth_copy_and_sum(skb, | ||
858 | PKTBUF_ADDR(head), | 857 | PKTBUF_ADDR(head), |
859 | pkt_len, 0); | 858 | pkt_len); |
860 | 859 | ||
861 | skb->protocol = eth_type_trans( skb, dev ); | 860 | skb->protocol = eth_type_trans( skb, dev ); |
862 | netif_rx( skb ); | 861 | netif_rx( skb ); |
diff --git a/drivers/net/sunbmac.c b/drivers/net/sunbmac.c index 2ad8d58dee3b..b3e0158def4f 100644 --- a/drivers/net/sunbmac.c +++ b/drivers/net/sunbmac.c | |||
@@ -860,7 +860,7 @@ static void bigmac_rx(struct bigmac *bp) | |||
860 | sbus_dma_sync_single_for_cpu(bp->bigmac_sdev, | 860 | sbus_dma_sync_single_for_cpu(bp->bigmac_sdev, |
861 | this->rx_addr, len, | 861 | this->rx_addr, len, |
862 | SBUS_DMA_FROMDEVICE); | 862 | SBUS_DMA_FROMDEVICE); |
863 | eth_copy_and_sum(copy_skb, (unsigned char *)skb->data, len, 0); | 863 | skb_copy_to_linear_data(copy_skb, (unsigned char *)skb->data, len); |
864 | sbus_dma_sync_single_for_device(bp->bigmac_sdev, | 864 | sbus_dma_sync_single_for_device(bp->bigmac_sdev, |
865 | this->rx_addr, len, | 865 | this->rx_addr, len, |
866 | SBUS_DMA_FROMDEVICE); | 866 | SBUS_DMA_FROMDEVICE); |
diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c index e1f912d04043..c8ba534c17bf 100644 --- a/drivers/net/sundance.c +++ b/drivers/net/sundance.c | |||
@@ -1313,7 +1313,7 @@ static void rx_poll(unsigned long data) | |||
1313 | np->rx_buf_sz, | 1313 | np->rx_buf_sz, |
1314 | PCI_DMA_FROMDEVICE); | 1314 | PCI_DMA_FROMDEVICE); |
1315 | 1315 | ||
1316 | eth_copy_and_sum(skb, np->rx_skbuff[entry]->data, pkt_len, 0); | 1316 | skb_copy_to_linear_data(skb, np->rx_skbuff[entry]->data, pkt_len); |
1317 | pci_dma_sync_single_for_device(np->pci_dev, | 1317 | pci_dma_sync_single_for_device(np->pci_dev, |
1318 | desc->frag[0].addr, | 1318 | desc->frag[0].addr, |
1319 | np->rx_buf_sz, | 1319 | np->rx_buf_sz, |
diff --git a/drivers/net/sunlance.c b/drivers/net/sunlance.c index 42722530ab24..053b7cb0d944 100644 --- a/drivers/net/sunlance.c +++ b/drivers/net/sunlance.c | |||
@@ -549,9 +549,9 @@ static void lance_rx_dvma(struct net_device *dev) | |||
549 | 549 | ||
550 | skb_reserve(skb, 2); /* 16 byte align */ | 550 | skb_reserve(skb, 2); /* 16 byte align */ |
551 | skb_put(skb, len); /* make room */ | 551 | skb_put(skb, len); /* make room */ |
552 | eth_copy_and_sum(skb, | 552 | skb_copy_to_linear_data(skb, |
553 | (unsigned char *)&(ib->rx_buf [entry][0]), | 553 | (unsigned char *)&(ib->rx_buf [entry][0]), |
554 | len, 0); | 554 | len); |
555 | skb->protocol = eth_type_trans(skb, dev); | 555 | skb->protocol = eth_type_trans(skb, dev); |
556 | netif_rx(skb); | 556 | netif_rx(skb); |
557 | dev->last_rx = jiffies; | 557 | dev->last_rx = jiffies; |
diff --git a/drivers/net/sunqe.c b/drivers/net/sunqe.c index fa70e0b78af7..1b65ae8a1c7c 100644 --- a/drivers/net/sunqe.c +++ b/drivers/net/sunqe.c | |||
@@ -439,8 +439,8 @@ static void qe_rx(struct sunqe *qep) | |||
439 | } else { | 439 | } else { |
440 | skb_reserve(skb, 2); | 440 | skb_reserve(skb, 2); |
441 | skb_put(skb, len); | 441 | skb_put(skb, len); |
442 | eth_copy_and_sum(skb, (unsigned char *) this_qbuf, | 442 | skb_copy_to_linear_data(skb, (unsigned char *) this_qbuf, |
443 | len, 0); | 443 | len); |
444 | skb->protocol = eth_type_trans(skb, qep->dev); | 444 | skb->protocol = eth_type_trans(skb, qep->dev); |
445 | netif_rx(skb); | 445 | netif_rx(skb); |
446 | qep->dev->last_rx = jiffies; | 446 | qep->dev->last_rx = jiffies; |
diff --git a/drivers/net/tulip/interrupt.c b/drivers/net/tulip/interrupt.c index ea896777bcaf..53efd6694e75 100644 --- a/drivers/net/tulip/interrupt.c +++ b/drivers/net/tulip/interrupt.c | |||
@@ -197,8 +197,8 @@ int tulip_poll(struct net_device *dev, int *budget) | |||
197 | tp->rx_buffers[entry].mapping, | 197 | tp->rx_buffers[entry].mapping, |
198 | pkt_len, PCI_DMA_FROMDEVICE); | 198 | pkt_len, PCI_DMA_FROMDEVICE); |
199 | #if ! defined(__alpha__) | 199 | #if ! defined(__alpha__) |
200 | eth_copy_and_sum(skb, tp->rx_buffers[entry].skb->data, | 200 | skb_copy_to_linear_data(skb, tp->rx_buffers[entry].skb->data, |
201 | pkt_len, 0); | 201 | pkt_len); |
202 | skb_put(skb, pkt_len); | 202 | skb_put(skb, pkt_len); |
203 | #else | 203 | #else |
204 | memcpy(skb_put(skb, pkt_len), | 204 | memcpy(skb_put(skb, pkt_len), |
@@ -420,8 +420,8 @@ static int tulip_rx(struct net_device *dev) | |||
420 | tp->rx_buffers[entry].mapping, | 420 | tp->rx_buffers[entry].mapping, |
421 | pkt_len, PCI_DMA_FROMDEVICE); | 421 | pkt_len, PCI_DMA_FROMDEVICE); |
422 | #if ! defined(__alpha__) | 422 | #if ! defined(__alpha__) |
423 | eth_copy_and_sum(skb, tp->rx_buffers[entry].skb->data, | 423 | skb_copy_to_linear_data(skb, tp->rx_buffers[entry].skb->data, |
424 | pkt_len, 0); | 424 | pkt_len); |
425 | skb_put(skb, pkt_len); | 425 | skb_put(skb, pkt_len); |
426 | #else | 426 | #else |
427 | memcpy(skb_put(skb, pkt_len), | 427 | memcpy(skb_put(skb, pkt_len), |
diff --git a/drivers/net/tulip/winbond-840.c b/drivers/net/tulip/winbond-840.c index 38f3b99716b8..5824f6a35495 100644 --- a/drivers/net/tulip/winbond-840.c +++ b/drivers/net/tulip/winbond-840.c | |||
@@ -1232,7 +1232,7 @@ static int netdev_rx(struct net_device *dev) | |||
1232 | pci_dma_sync_single_for_cpu(np->pci_dev,np->rx_addr[entry], | 1232 | pci_dma_sync_single_for_cpu(np->pci_dev,np->rx_addr[entry], |
1233 | np->rx_skbuff[entry]->len, | 1233 | np->rx_skbuff[entry]->len, |
1234 | PCI_DMA_FROMDEVICE); | 1234 | PCI_DMA_FROMDEVICE); |
1235 | eth_copy_and_sum(skb, np->rx_skbuff[entry]->data, pkt_len, 0); | 1235 | skb_copy_to_linear_data(skb, np->rx_skbuff[entry]->data, pkt_len); |
1236 | skb_put(skb, pkt_len); | 1236 | skb_put(skb, pkt_len); |
1237 | pci_dma_sync_single_for_device(np->pci_dev,np->rx_addr[entry], | 1237 | pci_dma_sync_single_for_device(np->pci_dev,np->rx_addr[entry], |
1238 | np->rx_skbuff[entry]->len, | 1238 | np->rx_skbuff[entry]->len, |
diff --git a/drivers/net/tulip/xircom_cb.c b/drivers/net/tulip/xircom_cb.c index 2470b1ee33c0..37e35cd277a1 100644 --- a/drivers/net/tulip/xircom_cb.c +++ b/drivers/net/tulip/xircom_cb.c | |||
@@ -1208,7 +1208,7 @@ static void investigate_read_descriptor(struct net_device *dev,struct xircom_pri | |||
1208 | goto out; | 1208 | goto out; |
1209 | } | 1209 | } |
1210 | skb_reserve(skb, 2); | 1210 | skb_reserve(skb, 2); |
1211 | eth_copy_and_sum(skb, (unsigned char*)&card->rx_buffer[bufferoffset / 4], pkt_len, 0); | 1211 | skb_copy_to_linear_data(skb, (unsigned char*)&card->rx_buffer[bufferoffset / 4], pkt_len); |
1212 | skb_put(skb, pkt_len); | 1212 | skb_put(skb, pkt_len); |
1213 | skb->protocol = eth_type_trans(skb, dev); | 1213 | skb->protocol = eth_type_trans(skb, dev); |
1214 | netif_rx(skb); | 1214 | netif_rx(skb); |
diff --git a/drivers/net/tulip/xircom_tulip_cb.c b/drivers/net/tulip/xircom_tulip_cb.c index f64172927377..f984fbde8b23 100644 --- a/drivers/net/tulip/xircom_tulip_cb.c +++ b/drivers/net/tulip/xircom_tulip_cb.c | |||
@@ -1242,8 +1242,8 @@ xircom_rx(struct net_device *dev) | |||
1242 | && (skb = dev_alloc_skb(pkt_len + 2)) != NULL) { | 1242 | && (skb = dev_alloc_skb(pkt_len + 2)) != NULL) { |
1243 | skb_reserve(skb, 2); /* 16 byte align the IP header */ | 1243 | skb_reserve(skb, 2); /* 16 byte align the IP header */ |
1244 | #if ! defined(__alpha__) | 1244 | #if ! defined(__alpha__) |
1245 | eth_copy_and_sum(skb, bus_to_virt(tp->rx_ring[entry].buffer1), | 1245 | skb_copy_to_linear_data(skb, bus_to_virt(tp->rx_ring[entry].buffer1), |
1246 | pkt_len, 0); | 1246 | pkt_len); |
1247 | skb_put(skb, pkt_len); | 1247 | skb_put(skb, pkt_len); |
1248 | #else | 1248 | #else |
1249 | memcpy(skb_put(skb, pkt_len), | 1249 | memcpy(skb_put(skb, pkt_len), |
diff --git a/drivers/net/typhoon.c b/drivers/net/typhoon.c index 15b2fb8aa492..df524548d531 100644 --- a/drivers/net/typhoon.c +++ b/drivers/net/typhoon.c | |||
@@ -1703,7 +1703,7 @@ typhoon_rx(struct typhoon *tp, struct basic_ring *rxRing, volatile u32 * ready, | |||
1703 | pci_dma_sync_single_for_cpu(tp->pdev, dma_addr, | 1703 | pci_dma_sync_single_for_cpu(tp->pdev, dma_addr, |
1704 | PKT_BUF_SZ, | 1704 | PKT_BUF_SZ, |
1705 | PCI_DMA_FROMDEVICE); | 1705 | PCI_DMA_FROMDEVICE); |
1706 | eth_copy_and_sum(new_skb, skb->data, pkt_len, 0); | 1706 | skb_copy_to_linear_data(new_skb, skb->data, pkt_len); |
1707 | pci_dma_sync_single_for_device(tp->pdev, dma_addr, | 1707 | pci_dma_sync_single_for_device(tp->pdev, dma_addr, |
1708 | PKT_BUF_SZ, | 1708 | PKT_BUF_SZ, |
1709 | PCI_DMA_FROMDEVICE); | 1709 | PCI_DMA_FROMDEVICE); |
diff --git a/drivers/net/usb/catc.c b/drivers/net/usb/catc.c index 86e90c59d551..76752d84a30f 100644 --- a/drivers/net/usb/catc.c +++ b/drivers/net/usb/catc.c | |||
@@ -255,7 +255,7 @@ static void catc_rx_done(struct urb *urb) | |||
255 | if (!(skb = dev_alloc_skb(pkt_len))) | 255 | if (!(skb = dev_alloc_skb(pkt_len))) |
256 | return; | 256 | return; |
257 | 257 | ||
258 | eth_copy_and_sum(skb, pkt_start + pkt_offset, pkt_len, 0); | 258 | skb_copy_to_linear_data(skb, pkt_start + pkt_offset, pkt_len); |
259 | skb_put(skb, pkt_len); | 259 | skb_put(skb, pkt_len); |
260 | 260 | ||
261 | skb->protocol = eth_type_trans(skb, catc->netdev); | 261 | skb->protocol = eth_type_trans(skb, catc->netdev); |
diff --git a/drivers/net/usb/kaweth.c b/drivers/net/usb/kaweth.c index 60d29440f316..524dc5f5e46d 100644 --- a/drivers/net/usb/kaweth.c +++ b/drivers/net/usb/kaweth.c | |||
@@ -635,7 +635,7 @@ static void kaweth_usb_receive(struct urb *urb) | |||
635 | 635 | ||
636 | skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */ | 636 | skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */ |
637 | 637 | ||
638 | eth_copy_and_sum(skb, kaweth->rx_buf + 2, pkt_len, 0); | 638 | skb_copy_to_linear_data(skb, kaweth->rx_buf + 2, pkt_len); |
639 | 639 | ||
640 | skb_put(skb, pkt_len); | 640 | skb_put(skb, pkt_len); |
641 | 641 | ||
diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c index adea290a9d5e..565f6cc185ce 100644 --- a/drivers/net/via-rhine.c +++ b/drivers/net/via-rhine.c | |||
@@ -1492,9 +1492,9 @@ static int rhine_rx(struct net_device *dev, int limit) | |||
1492 | rp->rx_buf_sz, | 1492 | rp->rx_buf_sz, |
1493 | PCI_DMA_FROMDEVICE); | 1493 | PCI_DMA_FROMDEVICE); |
1494 | 1494 | ||
1495 | eth_copy_and_sum(skb, | 1495 | skb_copy_to_linear_data(skb, |
1496 | rp->rx_skbuff[entry]->data, | 1496 | rp->rx_skbuff[entry]->data, |
1497 | pkt_len, 0); | 1497 | pkt_len); |
1498 | skb_put(skb, pkt_len); | 1498 | skb_put(skb, pkt_len); |
1499 | pci_dma_sync_single_for_device(rp->pdev, | 1499 | pci_dma_sync_single_for_device(rp->pdev, |
1500 | rp->rx_skbuff_dma[entry], | 1500 | rp->rx_skbuff_dma[entry], |
diff --git a/drivers/net/wireless/wl3501_cs.c b/drivers/net/wireless/wl3501_cs.c index ce9230b2f630..c8b5c2271938 100644 --- a/drivers/net/wireless/wl3501_cs.c +++ b/drivers/net/wireless/wl3501_cs.c | |||
@@ -1011,7 +1011,7 @@ static inline void wl3501_md_ind_interrupt(struct net_device *dev, | |||
1011 | } else { | 1011 | } else { |
1012 | skb->dev = dev; | 1012 | skb->dev = dev; |
1013 | skb_reserve(skb, 2); /* IP headers on 16 bytes boundaries */ | 1013 | skb_reserve(skb, 2); /* IP headers on 16 bytes boundaries */ |
1014 | eth_copy_and_sum(skb, (unsigned char *)&sig.daddr, 12, 0); | 1014 | skb_copy_to_linear_data(skb, (unsigned char *)&sig.daddr, 12); |
1015 | wl3501_receive(this, skb->data, pkt_len); | 1015 | wl3501_receive(this, skb->data, pkt_len); |
1016 | skb_put(skb, pkt_len); | 1016 | skb_put(skb, pkt_len); |
1017 | skb->protocol = eth_type_trans(skb, dev); | 1017 | skb->protocol = eth_type_trans(skb, dev); |
diff --git a/drivers/net/yellowfin.c b/drivers/net/yellowfin.c index f2a90a7fa2d6..870c5393c21a 100644 --- a/drivers/net/yellowfin.c +++ b/drivers/net/yellowfin.c | |||
@@ -1137,7 +1137,7 @@ static int yellowfin_rx(struct net_device *dev) | |||
1137 | if (skb == NULL) | 1137 | if (skb == NULL) |
1138 | break; | 1138 | break; |
1139 | skb_reserve(skb, 2); /* 16 byte align the IP header */ | 1139 | skb_reserve(skb, 2); /* 16 byte align the IP header */ |
1140 | eth_copy_and_sum(skb, rx_skb->data, pkt_len, 0); | 1140 | skb_copy_to_linear_data(skb, rx_skb->data, pkt_len); |
1141 | skb_put(skb, pkt_len); | 1141 | skb_put(skb, pkt_len); |
1142 | pci_dma_sync_single_for_device(yp->pci_dev, desc->addr, | 1142 | pci_dma_sync_single_for_device(yp->pci_dev, desc->addr, |
1143 | yp->rx_buf_sz, | 1143 | yp->rx_buf_sz, |
diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h index 071c67abed86..f48eb89efd0f 100644 --- a/include/linux/etherdevice.h +++ b/include/linux/etherdevice.h | |||
@@ -40,12 +40,6 @@ extern int eth_header_cache(struct neighbour *neigh, | |||
40 | struct hh_cache *hh); | 40 | struct hh_cache *hh); |
41 | 41 | ||
42 | extern struct net_device *alloc_etherdev(int sizeof_priv); | 42 | extern struct net_device *alloc_etherdev(int sizeof_priv); |
43 | static inline void eth_copy_and_sum (struct sk_buff *dest, | ||
44 | const unsigned char *src, | ||
45 | int len, int base) | ||
46 | { | ||
47 | memcpy (dest->data, src, len); | ||
48 | } | ||
49 | 43 | ||
50 | /** | 44 | /** |
51 | * is_zero_ether_addr - Determine if give Ethernet address is all zeros. | 45 | * is_zero_ether_addr - Determine if give Ethernet address is all zeros. |