aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/ia64/hp/sim/simeth.c1
-rw-r--r--arch/ia64/sn/kernel/xpnet.c1
-rw-r--r--arch/ppc/8260_io/enet.c1
-rw-r--r--arch/ppc/8260_io/fcc_enet.c1
-rw-r--r--arch/ppc/8xx_io/enet.c1
-rw-r--r--arch/ppc/8xx_io/fec.c1
-rw-r--r--drivers/infiniband/hw/amso1100/c2.c1
-rw-r--r--drivers/isdn/hysdn/hysdn_net.c2
-rw-r--r--drivers/net/3c501.c1
-rw-r--r--drivers/net/3c505.c1
-rw-r--r--drivers/net/3c507.c1
-rw-r--r--drivers/net/3c509.c1
-rw-r--r--drivers/net/3c515.c2
-rw-r--r--drivers/net/3c523.c1
-rw-r--r--drivers/net/3c527.c1
-rw-r--r--drivers/net/3c59x.c2
-rw-r--r--drivers/net/7990.c1
-rw-r--r--drivers/net/8139cp.c2
-rw-r--r--drivers/net/8139too.c1
-rw-r--r--drivers/net/82596.c1
-rw-r--r--drivers/net/a2065.c1
-rw-r--r--drivers/net/acenic.c1
-rw-r--r--drivers/net/amd8111e.c4
-rw-r--r--drivers/net/ariadne.c1
-rw-r--r--drivers/net/arm/am79c961a.c1
-rw-r--r--drivers/net/arm/at91_ether.c1
-rw-r--r--drivers/net/arm/ep93xx_eth.c1
-rw-r--r--drivers/net/arm/ether1.c1
-rw-r--r--drivers/net/arm/ether3.c1
-rw-r--r--drivers/net/at1700.c1
-rw-r--r--drivers/net/atari_bionet.c1
-rw-r--r--drivers/net/atarilance.c1
-rw-r--r--drivers/net/atl1/atl1_main.c2
-rw-r--r--drivers/net/atp.c1
-rw-r--r--drivers/net/au1000_eth.c1
-rw-r--r--drivers/net/b44.c1
-rw-r--r--drivers/net/bmac.c1
-rw-r--r--drivers/net/cassini.c1
-rw-r--r--drivers/net/chelsio/sge.c3
-rw-r--r--drivers/net/cris/eth_v10.c1
-rw-r--r--drivers/net/cs89x0.c2
-rw-r--r--drivers/net/cxgb3/sge.c3
-rw-r--r--drivers/net/de600.c1
-rw-r--r--drivers/net/de620.c1
-rw-r--r--drivers/net/declance.c1
-rw-r--r--drivers/net/depca.c1
-rw-r--r--drivers/net/dgrs.c1
-rw-r--r--drivers/net/dl2k.c4
-rw-r--r--drivers/net/dm9000.c1
-rw-r--r--drivers/net/eepro.c1
-rw-r--r--drivers/net/eepro100.c1
-rw-r--r--drivers/net/eexpress.c1
-rw-r--r--drivers/net/epic100.c3
-rw-r--r--drivers/net/eth16i.c1
-rw-r--r--drivers/net/ewrk3.c1
-rw-r--r--drivers/net/fealnx.c1
-rw-r--r--drivers/net/fec.c1
-rw-r--r--drivers/net/fec_8xx/fec_main.c1
-rw-r--r--drivers/net/forcedeth.c2
-rw-r--r--drivers/net/fs_enet/fs_enet-main.c3
-rw-r--r--drivers/net/gianfar.c2
-rw-r--r--drivers/net/hamachi.c1
-rw-r--r--drivers/net/hp100.c1
-rw-r--r--drivers/net/ibm_emac/ibm_emac_core.c1
-rw-r--r--drivers/net/ibmlana.c1
-rw-r--r--drivers/net/ibmveth.c1
-rw-r--r--drivers/net/ioc3-eth.c3
-rw-r--r--drivers/net/iseries_veth.c1
-rw-r--r--drivers/net/ixp2000/ixpdev.c3
-rw-r--r--drivers/net/lance.c1
-rw-r--r--drivers/net/lasi_82596.c1
-rw-r--r--drivers/net/lib8390.c1
-rw-r--r--drivers/net/loopback.c1
-rw-r--r--drivers/net/lp486e.c1
-rw-r--r--drivers/net/mac89x0.c1
-rw-r--r--drivers/net/macb.c1
-rw-r--r--drivers/net/mace.c1
-rw-r--r--drivers/net/macmace.c1
-rw-r--r--drivers/net/meth.c1
-rw-r--r--drivers/net/mipsnet.c1
-rw-r--r--drivers/net/mv643xx_eth.c1
-rw-r--r--drivers/net/myri10ge/myri10ge.c1
-rw-r--r--drivers/net/natsemi.c1
-rw-r--r--drivers/net/netx-eth.c1
-rw-r--r--drivers/net/netxen/netxen_nic_init.c1
-rw-r--r--drivers/net/ni5010.c1
-rw-r--r--drivers/net/ni52.c1
-rw-r--r--drivers/net/ni65.c2
-rw-r--r--drivers/net/ns83820.c1
-rw-r--r--drivers/net/pasemi_mac.c2
-rw-r--r--drivers/net/pci-skeleton.c1
-rw-r--r--drivers/net/pcmcia/3c574_cs.c1
-rw-r--r--drivers/net/pcmcia/3c589_cs.c1
-rw-r--r--drivers/net/pcmcia/axnet_cs.c1
-rw-r--r--drivers/net/pcmcia/fmvj18x_cs.c1
-rw-r--r--drivers/net/pcmcia/nmclan_cs.c2
-rw-r--r--drivers/net/pcmcia/smc91c92_cs.c1
-rw-r--r--drivers/net/pcmcia/xirc2ps_cs.c1
-rw-r--r--drivers/net/pcnet32.c1
-rwxr-xr-xdrivers/net/qla3xxx.c2
-rw-r--r--drivers/net/r8169.c1
-rw-r--r--drivers/net/rionet.c1
-rw-r--r--drivers/net/saa9730.c1
-rw-r--r--drivers/net/sb1250-mac.c3
-rw-r--r--drivers/net/sc92031.c1
-rw-r--r--drivers/net/seeq8005.c1
-rw-r--r--drivers/net/sgiseeq.c1
-rw-r--r--drivers/net/sis190.c1
-rw-r--r--drivers/net/sis900.c3
-rw-r--r--drivers/net/sk98lin/skge.c2
-rw-r--r--drivers/net/smc911x.c2
-rw-r--r--drivers/net/smc9194.c1
-rw-r--r--drivers/net/smc91x.c1
-rw-r--r--drivers/net/sonic.c2
-rw-r--r--drivers/net/spider_net.c1
-rw-r--r--drivers/net/starfire.c1
-rw-r--r--drivers/net/sun3_82586.c1
-rw-r--r--drivers/net/sun3lance.c1
-rw-r--r--drivers/net/sunbmac.c1
-rw-r--r--drivers/net/sundance.c1
-rw-r--r--drivers/net/sungem.c1
-rw-r--r--drivers/net/sunhme.c1
-rw-r--r--drivers/net/sunlance.c2
-rw-r--r--drivers/net/sunqe.c1
-rw-r--r--drivers/net/tc35815.c1
-rw-r--r--drivers/net/tlan.c2
-rw-r--r--drivers/net/tsi108_eth.c1
-rw-r--r--drivers/net/tulip/de2104x.c1
-rw-r--r--drivers/net/tulip/de4x5.c2
-rw-r--r--drivers/net/tulip/dmfe.c6
-rw-r--r--drivers/net/tulip/interrupt.c2
-rw-r--r--drivers/net/tulip/uli526x.c6
-rw-r--r--drivers/net/tulip/winbond-840.c3
-rw-r--r--drivers/net/tulip/xircom_cb.c1
-rw-r--r--drivers/net/tulip/xircom_tulip_cb.c1
-rw-r--r--drivers/net/tun.c2
-rw-r--r--drivers/net/typhoon.c1
-rw-r--r--drivers/net/via-rhine.c1
-rw-r--r--drivers/net/via-velocity.c3
-rw-r--r--drivers/net/wan/hdlc_fr.c1
-rw-r--r--drivers/net/wan/sbni.c5
-rw-r--r--drivers/net/wireless/airo.c5
-rw-r--r--drivers/net/wireless/arlan-main.c1
-rw-r--r--drivers/net/wireless/atmel.c2
-rw-r--r--drivers/net/wireless/hostap/hostap_80211_rx.c1
-rw-r--r--drivers/net/wireless/netwave_cs.c1
-rw-r--r--drivers/net/wireless/orinoco.c1
-rw-r--r--drivers/net/wireless/prism54/islpci_eth.c4
-rw-r--r--drivers/net/wireless/ray_cs.c1
-rw-r--r--drivers/net/wireless/wavelan.c2
-rw-r--r--drivers/net/wireless/wavelan_cs.c2
-rw-r--r--drivers/net/wireless/zd1201.c2
-rw-r--r--drivers/net/yellowfin.c1
-rw-r--r--drivers/net/znet.c1
-rw-r--r--drivers/usb/gadget/ether.c1
-rw-r--r--drivers/usb/net/catc.c1
-rw-r--r--drivers/usb/net/kaweth.c2
-rw-r--r--drivers/usb/net/pegasus.c5
-rw-r--r--drivers/usb/net/rtl8150.c1
-rw-r--r--drivers/usb/net/usbnet.c1
-rw-r--r--net/atm/lec.c3
-rw-r--r--net/bluetooth/bnep/core.c1
-rw-r--r--net/ethernet/eth.c1
-rw-r--r--net/ieee80211/ieee80211_rx.c1
-rw-r--r--net/irda/irlan/irlan_eth.c3
165 files changed, 15 insertions, 230 deletions
diff --git a/arch/ia64/hp/sim/simeth.c b/arch/ia64/hp/sim/simeth.c
index 424e9257c9a..edef008c2b4 100644
--- a/arch/ia64/hp/sim/simeth.c
+++ b/arch/ia64/hp/sim/simeth.c
@@ -427,7 +427,6 @@ make_new_skb(struct net_device *dev)
427 printk(KERN_NOTICE "%s: memory squeeze. dropping packet.\n", dev->name); 427 printk(KERN_NOTICE "%s: memory squeeze. dropping packet.\n", dev->name);
428 return NULL; 428 return NULL;
429 } 429 }
430 nskb->dev = dev;
431 430
432 skb_reserve(nskb, 2); /* Align IP on 16 byte boundaries */ 431 skb_reserve(nskb, 2); /* Align IP on 16 byte boundaries */
433 432
diff --git a/arch/ia64/sn/kernel/xpnet.c b/arch/ia64/sn/kernel/xpnet.c
index c8173db0d84..68d59d912c9 100644
--- a/arch/ia64/sn/kernel/xpnet.c
+++ b/arch/ia64/sn/kernel/xpnet.c
@@ -267,7 +267,6 @@ xpnet_receive(partid_t partid, int channel, struct xpnet_message *msg)
267 (void *) skb->data, (void *) skb->tail, (void *) skb->end, 267 (void *) skb->data, (void *) skb->tail, (void *) skb->end,
268 skb->len); 268 skb->len);
269 269
270 skb->dev = xpnet_device;
271 skb->protocol = eth_type_trans(skb, xpnet_device); 270 skb->protocol = eth_type_trans(skb, xpnet_device);
272 skb->ip_summed = CHECKSUM_UNNECESSARY; 271 skb->ip_summed = CHECKSUM_UNNECESSARY;
273 272
diff --git a/arch/ppc/8260_io/enet.c b/arch/ppc/8260_io/enet.c
index a6056c29cf0..48ce84f5be9 100644
--- a/arch/ppc/8260_io/enet.c
+++ b/arch/ppc/8260_io/enet.c
@@ -477,7 +477,6 @@ for (;;) {
477 cep->stats.rx_dropped++; 477 cep->stats.rx_dropped++;
478 } 478 }
479 else { 479 else {
480 skb->dev = dev;
481 skb_put(skb,pkt_len-4); /* Make room */ 480 skb_put(skb,pkt_len-4); /* Make room */
482 eth_copy_and_sum(skb, 481 eth_copy_and_sum(skb,
483 (unsigned char *)__va(bdp->cbd_bufaddr), 482 (unsigned char *)__va(bdp->cbd_bufaddr),
diff --git a/arch/ppc/8260_io/fcc_enet.c b/arch/ppc/8260_io/fcc_enet.c
index 06b84c372e5..9db825fe37f 100644
--- a/arch/ppc/8260_io/fcc_enet.c
+++ b/arch/ppc/8260_io/fcc_enet.c
@@ -734,7 +734,6 @@ for (;;) {
734 cep->stats.rx_dropped++; 734 cep->stats.rx_dropped++;
735 } 735 }
736 else { 736 else {
737 skb->dev = dev;
738 skb_put(skb,pkt_len); /* Make room */ 737 skb_put(skb,pkt_len); /* Make room */
739 eth_copy_and_sum(skb, 738 eth_copy_and_sum(skb,
740 (unsigned char *)__va(bdp->cbd_bufaddr), 739 (unsigned char *)__va(bdp->cbd_bufaddr),
diff --git a/arch/ppc/8xx_io/enet.c b/arch/ppc/8xx_io/enet.c
index b23c45bc151..bfa3f52996d 100644
--- a/arch/ppc/8xx_io/enet.c
+++ b/arch/ppc/8xx_io/enet.c
@@ -506,7 +506,6 @@ for (;;) {
506 cep->stats.rx_dropped++; 506 cep->stats.rx_dropped++;
507 } 507 }
508 else { 508 else {
509 skb->dev = dev;
510 skb_put(skb,pkt_len-4); /* Make room */ 509 skb_put(skb,pkt_len-4); /* Make room */
511 eth_copy_and_sum(skb, 510 eth_copy_and_sum(skb,
512 cep->rx_vaddr[bdp - cep->rx_bd_base], 511 cep->rx_vaddr[bdp - cep->rx_bd_base],
diff --git a/arch/ppc/8xx_io/fec.c b/arch/ppc/8xx_io/fec.c
index e6c28fb423b..57a9a61e54b 100644
--- a/arch/ppc/8xx_io/fec.c
+++ b/arch/ppc/8xx_io/fec.c
@@ -724,7 +724,6 @@ while (!(bdp->cbd_sc & BD_ENET_RX_EMPTY)) {
724 printk("%s: Memory squeeze, dropping packet.\n", dev->name); 724 printk("%s: Memory squeeze, dropping packet.\n", dev->name);
725 fep->stats.rx_dropped++; 725 fep->stats.rx_dropped++;
726 } else { 726 } else {
727 skb->dev = dev;
728 skb_put(skb,pkt_len-4); /* Make room */ 727 skb_put(skb,pkt_len-4); /* Make room */
729 eth_copy_and_sum(skb, data, pkt_len-4, 0); 728 eth_copy_and_sum(skb, data, pkt_len-4, 0);
730 skb->protocol=eth_type_trans(skb,dev); 729 skb->protocol=eth_type_trans(skb,dev);
diff --git a/drivers/infiniband/hw/amso1100/c2.c b/drivers/infiniband/hw/amso1100/c2.c
index 59243d9aedd..7698feafa6a 100644
--- a/drivers/infiniband/hw/amso1100/c2.c
+++ b/drivers/infiniband/hw/amso1100/c2.c
@@ -523,7 +523,6 @@ static void c2_rx_interrupt(struct net_device *netdev)
523 skb->data += sizeof(*rxp_hdr); 523 skb->data += sizeof(*rxp_hdr);
524 skb->tail = skb->data + buflen; 524 skb->tail = skb->data + buflen;
525 skb->len = buflen; 525 skb->len = buflen;
526 skb->dev = netdev;
527 skb->protocol = eth_type_trans(skb, netdev); 526 skb->protocol = eth_type_trans(skb, netdev);
528 527
529 netif_rx(skb); 528 netif_rx(skb);
diff --git a/drivers/isdn/hysdn/hysdn_net.c b/drivers/isdn/hysdn/hysdn_net.c
index 557d96c78a6..cfa8fa5e44a 100644
--- a/drivers/isdn/hysdn/hysdn_net.c
+++ b/drivers/isdn/hysdn/hysdn_net.c
@@ -214,8 +214,6 @@ hysdn_rx_netpkt(hysdn_card * card, unsigned char *buf, unsigned short len)
214 lp->stats.rx_dropped++; 214 lp->stats.rx_dropped++;
215 return; 215 return;
216 } 216 }
217 skb->dev = &lp->netdev;
218
219 /* copy the data */ 217 /* copy the data */
220 memcpy(skb_put(skb, len), buf, len); 218 memcpy(skb_put(skb, len), buf, len);
221 219
diff --git a/drivers/net/3c501.c b/drivers/net/3c501.c
index 06e33786078..4bee99ba7db 100644
--- a/drivers/net/3c501.c
+++ b/drivers/net/3c501.c
@@ -735,7 +735,6 @@ static void el_receive(struct net_device *dev)
735 else 735 else
736 { 736 {
737 skb_reserve(skb,2); /* Force 16 byte alignment */ 737 skb_reserve(skb,2); /* Force 16 byte alignment */
738 skb->dev = dev;
739 /* 738 /*
740 * The read increments through the bytes. The interrupt 739 * The read increments through the bytes. The interrupt
741 * handler will fix the pointer when it returns to 740 * handler will fix the pointer when it returns to
diff --git a/drivers/net/3c505.c b/drivers/net/3c505.c
index 702bfb2a5e9..c693b5a7950 100644
--- a/drivers/net/3c505.c
+++ b/drivers/net/3c505.c
@@ -615,7 +615,6 @@ static void receive_packet(struct net_device *dev, int len)
615 if (test_and_set_bit(0, (void *) &adapter->dmaing)) 615 if (test_and_set_bit(0, (void *) &adapter->dmaing))
616 printk(KERN_ERR "%s: rx blocked, DMA in progress, dir %d\n", dev->name, adapter->current_dma.direction); 616 printk(KERN_ERR "%s: rx blocked, DMA in progress, dir %d\n", dev->name, adapter->current_dma.direction);
617 617
618 skb->dev = dev;
619 adapter->current_dma.direction = 0; 618 adapter->current_dma.direction = 0;
620 adapter->current_dma.length = rlen; 619 adapter->current_dma.length = rlen;
621 adapter->current_dma.skb = skb; 620 adapter->current_dma.skb = skb;
diff --git a/drivers/net/3c507.c b/drivers/net/3c507.c
index 54e1d5aebed..eed4299dc42 100644
--- a/drivers/net/3c507.c
+++ b/drivers/net/3c507.c
@@ -873,7 +873,6 @@ static void el16_rx(struct net_device *dev)
873 } 873 }
874 874
875 skb_reserve(skb,2); 875 skb_reserve(skb,2);
876 skb->dev = dev;
877 876
878 /* 'skb->data' points to the start of sk_buff data area. */ 877 /* 'skb->data' points to the start of sk_buff data area. */
879 memcpy_fromio(skb_put(skb,pkt_len), data_frame + 10, pkt_len); 878 memcpy_fromio(skb_put(skb,pkt_len), data_frame + 10, pkt_len);
diff --git a/drivers/net/3c509.c b/drivers/net/3c509.c
index f791bf026e5..c7511c4d3b6 100644
--- a/drivers/net/3c509.c
+++ b/drivers/net/3c509.c
@@ -1091,7 +1091,6 @@ el3_rx(struct net_device *dev)
1091 printk("Receiving packet size %d status %4.4x.\n", 1091 printk("Receiving packet size %d status %4.4x.\n",
1092 pkt_len, rx_status); 1092 pkt_len, rx_status);
1093 if (skb != NULL) { 1093 if (skb != NULL) {
1094 skb->dev = dev;
1095 skb_reserve(skb, 2); /* Align IP on 16 byte */ 1094 skb_reserve(skb, 2); /* Align IP on 16 byte */
1096 1095
1097 /* 'skb->data' points to the start of sk_buff data area. */ 1096 /* 'skb->data' points to the start of sk_buff data area. */
diff --git a/drivers/net/3c515.c b/drivers/net/3c515.c
index c307ce66145..290166d5e7d 100644
--- a/drivers/net/3c515.c
+++ b/drivers/net/3c515.c
@@ -1292,7 +1292,6 @@ static int corkscrew_rx(struct net_device *dev)
1292 printk("Receiving packet size %d status %4.4x.\n", 1292 printk("Receiving packet size %d status %4.4x.\n",
1293 pkt_len, rx_status); 1293 pkt_len, rx_status);
1294 if (skb != NULL) { 1294 if (skb != NULL) {
1295 skb->dev = dev;
1296 skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */ 1295 skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */
1297 /* 'skb_put()' points to the start of sk_buff data area. */ 1296 /* 'skb_put()' points to the start of sk_buff data area. */
1298 insl(ioaddr + RX_FIFO, 1297 insl(ioaddr + RX_FIFO,
@@ -1363,7 +1362,6 @@ static int boomerang_rx(struct net_device *dev)
1363 copying to a properly sized skbuff. */ 1362 copying to a properly sized skbuff. */
1364 if (pkt_len < rx_copybreak 1363 if (pkt_len < rx_copybreak
1365 && (skb = dev_alloc_skb(pkt_len + 4)) != 0) { 1364 && (skb = dev_alloc_skb(pkt_len + 4)) != 0) {
1366 skb->dev = dev;
1367 skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */ 1365 skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */
1368 /* 'skb_put()' points to the start of sk_buff data area. */ 1366 /* 'skb_put()' points to the start of sk_buff data area. */
1369 memcpy(skb_put(skb, pkt_len), 1367 memcpy(skb_put(skb, pkt_len),
diff --git a/drivers/net/3c523.c b/drivers/net/3c523.c
index 17d61eb0a7e..6b2036df685 100644
--- a/drivers/net/3c523.c
+++ b/drivers/net/3c523.c
@@ -988,7 +988,6 @@ static void elmc_rcv_int(struct net_device *dev)
988 rbd->status = 0; 988 rbd->status = 0;
989 skb = (struct sk_buff *) dev_alloc_skb(totlen + 2); 989 skb = (struct sk_buff *) dev_alloc_skb(totlen + 2);
990 if (skb != NULL) { 990 if (skb != NULL) {
991 skb->dev = dev;
992 skb_reserve(skb, 2); /* 16 byte alignment */ 991 skb_reserve(skb, 2); /* 16 byte alignment */
993 skb_put(skb,totlen); 992 skb_put(skb,totlen);
994 eth_copy_and_sum(skb, (char *) p->base+(unsigned long) rbd->buffer,totlen,0); 993 eth_copy_and_sum(skb, (char *) p->base+(unsigned long) rbd->buffer,totlen,0);
diff --git a/drivers/net/3c527.c b/drivers/net/3c527.c
index 6c7437e60bd..c7b571be20e 100644
--- a/drivers/net/3c527.c
+++ b/drivers/net/3c527.c
@@ -1189,7 +1189,6 @@ static void mc32_rx_ring(struct net_device *dev)
1189 } 1189 }
1190 1190
1191 skb->protocol=eth_type_trans(skb,dev); 1191 skb->protocol=eth_type_trans(skb,dev);
1192 skb->dev=dev;
1193 dev->last_rx = jiffies; 1192 dev->last_rx = jiffies;
1194 lp->net_stats.rx_packets++; 1193 lp->net_stats.rx_packets++;
1195 lp->net_stats.rx_bytes += length; 1194 lp->net_stats.rx_bytes += length;
diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c
index b406ecfa726..80924f76dee 100644
--- a/drivers/net/3c59x.c
+++ b/drivers/net/3c59x.c
@@ -2414,7 +2414,6 @@ static int vortex_rx(struct net_device *dev)
2414 printk(KERN_DEBUG "Receiving packet size %d status %4.4x.\n", 2414 printk(KERN_DEBUG "Receiving packet size %d status %4.4x.\n",
2415 pkt_len, rx_status); 2415 pkt_len, rx_status);
2416 if (skb != NULL) { 2416 if (skb != NULL) {
2417 skb->dev = dev;
2418 skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */ 2417 skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */
2419 /* 'skb_put()' points to the start of sk_buff data area. */ 2418 /* 'skb_put()' points to the start of sk_buff data area. */
2420 if (vp->bus_master && 2419 if (vp->bus_master &&
@@ -2491,7 +2490,6 @@ boomerang_rx(struct net_device *dev)
2491 /* Check if the packet is long enough to just accept without 2490 /* Check if the packet is long enough to just accept without
2492 copying to a properly sized skbuff. */ 2491 copying to a properly sized skbuff. */
2493 if (pkt_len < rx_copybreak && (skb = dev_alloc_skb(pkt_len + 2)) != 0) { 2492 if (pkt_len < rx_copybreak && (skb = dev_alloc_skb(pkt_len + 2)) != 0) {
2494 skb->dev = dev;
2495 skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */ 2493 skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */
2496 pci_dma_sync_single_for_cpu(VORTEX_PCI(vp), dma, PKT_BUF_SZ, PCI_DMA_FROMDEVICE); 2494 pci_dma_sync_single_for_cpu(VORTEX_PCI(vp), dma, PKT_BUF_SZ, PCI_DMA_FROMDEVICE);
2497 /* 'skb_put()' points to the start of sk_buff data area. */ 2495 /* 'skb_put()' points to the start of sk_buff data area. */
diff --git a/drivers/net/7990.c b/drivers/net/7990.c
index 1b3d11ed6cf..c50264aea16 100644
--- a/drivers/net/7990.c
+++ b/drivers/net/7990.c
@@ -331,7 +331,6 @@ static int lance_rx (struct net_device *dev)
331 return 0; 331 return 0;
332 } 332 }
333 333
334 skb->dev = dev;
335 skb_reserve (skb, 2); /* 16 byte align */ 334 skb_reserve (skb, 2); /* 16 byte align */
336 skb_put (skb, len); /* make room */ 335 skb_put (skb, len); /* make room */
337 eth_copy_and_sum(skb, 336 eth_copy_and_sum(skb,
diff --git a/drivers/net/8139cp.c b/drivers/net/8139cp.c
index 12c8453f44b..2f704cb06e7 100644
--- a/drivers/net/8139cp.c
+++ b/drivers/net/8139cp.c
@@ -573,7 +573,6 @@ rx_status_loop:
573 } 573 }
574 574
575 skb_reserve(new_skb, RX_OFFSET); 575 skb_reserve(new_skb, RX_OFFSET);
576 new_skb->dev = dev;
577 576
578 pci_unmap_single(cp->pdev, mapping, 577 pci_unmap_single(cp->pdev, mapping,
579 buflen, PCI_DMA_FROMDEVICE); 578 buflen, PCI_DMA_FROMDEVICE);
@@ -1082,7 +1081,6 @@ static int cp_refill_rx (struct cp_private *cp)
1082 if (!skb) 1081 if (!skb)
1083 goto err_out; 1082 goto err_out;
1084 1083
1085 skb->dev = cp->dev;
1086 skb_reserve(skb, RX_OFFSET); 1084 skb_reserve(skb, RX_OFFSET);
1087 1085
1088 mapping = pci_map_single(cp->pdev, skb->data, cp->rx_buf_sz, 1086 mapping = pci_map_single(cp->pdev, skb->data, cp->rx_buf_sz,
diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c
index 99304b2aa86..2101334a8ac 100644
--- a/drivers/net/8139too.c
+++ b/drivers/net/8139too.c
@@ -2013,7 +2013,6 @@ no_early_rx:
2013 2013
2014 skb = dev_alloc_skb (pkt_size + 2); 2014 skb = dev_alloc_skb (pkt_size + 2);
2015 if (likely(skb)) { 2015 if (likely(skb)) {
2016 skb->dev = dev;
2017 skb_reserve (skb, 2); /* 16 byte align the IP fields. */ 2016 skb_reserve (skb, 2); /* 16 byte align the IP fields. */
2018#if RX_BUF_IDX == 3 2017#if RX_BUF_IDX == 3
2019 wrap_copy(skb, rx_ring, ring_offset+4, pkt_size); 2018 wrap_copy(skb, rx_ring, ring_offset+4, pkt_size);
diff --git a/drivers/net/82596.c b/drivers/net/82596.c
index 640d7ca2ebc..3ff1155459a 100644
--- a/drivers/net/82596.c
+++ b/drivers/net/82596.c
@@ -830,7 +830,6 @@ memory_squeeze:
830 lp->stats.rx_dropped++; 830 lp->stats.rx_dropped++;
831 } 831 }
832 else { 832 else {
833 skb->dev = dev;
834 if (!rx_in_place) { 833 if (!rx_in_place) {
835 /* 16 byte align the data fields */ 834 /* 16 byte align the data fields */
836 skb_reserve(skb, 2); 835 skb_reserve(skb, 2);
diff --git a/drivers/net/a2065.c b/drivers/net/a2065.c
index d76548e7535..b38fc65005e 100644
--- a/drivers/net/a2065.c
+++ b/drivers/net/a2065.c
@@ -320,7 +320,6 @@ static int lance_rx (struct net_device *dev)
320 return 0; 320 return 0;
321 } 321 }
322 322
323 skb->dev = dev;
324 skb_reserve (skb, 2); /* 16 byte align */ 323 skb_reserve (skb, 2); /* 16 byte align */
325 skb_put (skb, len); /* make room */ 324 skb_put (skb, len); /* make room */
326 eth_copy_and_sum(skb, 325 eth_copy_and_sum(skb,
diff --git a/drivers/net/acenic.c b/drivers/net/acenic.c
index 7138e0e025b..7122b7ba8d6 100644
--- a/drivers/net/acenic.c
+++ b/drivers/net/acenic.c
@@ -2027,7 +2027,6 @@ static void ace_rx_int(struct net_device *dev, u32 rxretprd, u32 rxretcsm)
2027 */ 2027 */
2028 csum = retdesc->tcp_udp_csum; 2028 csum = retdesc->tcp_udp_csum;
2029 2029
2030 skb->dev = dev;
2031 skb->protocol = eth_type_trans(skb, dev); 2030 skb->protocol = eth_type_trans(skb, dev);
2032 2031
2033 /* 2032 /*
diff --git a/drivers/net/amd8111e.c b/drivers/net/amd8111e.c
index 962c954c2d5..675fe918421 100644
--- a/drivers/net/amd8111e.c
+++ b/drivers/net/amd8111e.c
@@ -798,9 +798,7 @@ static int amd8111e_rx_poll(struct net_device *dev, int * budget)
798 pci_unmap_single(lp->pci_dev,lp->rx_dma_addr[rx_index], 798 pci_unmap_single(lp->pci_dev,lp->rx_dma_addr[rx_index],
799 lp->rx_buff_len-2, PCI_DMA_FROMDEVICE); 799 lp->rx_buff_len-2, PCI_DMA_FROMDEVICE);
800 skb_put(skb, pkt_len); 800 skb_put(skb, pkt_len);
801 skb->dev = dev;
802 lp->rx_skbuff[rx_index] = new_skb; 801 lp->rx_skbuff[rx_index] = new_skb;
803 new_skb->dev = dev;
804 lp->rx_dma_addr[rx_index] = pci_map_single(lp->pci_dev, 802 lp->rx_dma_addr[rx_index] = pci_map_single(lp->pci_dev,
805 new_skb->data, 803 new_skb->data,
806 lp->rx_buff_len-2, 804 lp->rx_buff_len-2,
@@ -926,9 +924,7 @@ static int amd8111e_rx(struct net_device *dev)
926 pci_unmap_single(lp->pci_dev,lp->rx_dma_addr[rx_index], 924 pci_unmap_single(lp->pci_dev,lp->rx_dma_addr[rx_index],
927 lp->rx_buff_len-2, PCI_DMA_FROMDEVICE); 925 lp->rx_buff_len-2, PCI_DMA_FROMDEVICE);
928 skb_put(skb, pkt_len); 926 skb_put(skb, pkt_len);
929 skb->dev = dev;
930 lp->rx_skbuff[rx_index] = new_skb; 927 lp->rx_skbuff[rx_index] = new_skb;
931 new_skb->dev = dev;
932 lp->rx_dma_addr[rx_index] = pci_map_single(lp->pci_dev, 928 lp->rx_dma_addr[rx_index] = pci_map_single(lp->pci_dev,
933 new_skb->data, lp->rx_buff_len-2,PCI_DMA_FROMDEVICE); 929 new_skb->data, lp->rx_buff_len-2,PCI_DMA_FROMDEVICE);
934 930
diff --git a/drivers/net/ariadne.c b/drivers/net/ariadne.c
index 9dfc09b181c..a0e68e71853 100644
--- a/drivers/net/ariadne.c
+++ b/drivers/net/ariadne.c
@@ -743,7 +743,6 @@ static int ariadne_rx(struct net_device *dev)
743 } 743 }
744 744
745 745
746 skb->dev = dev;
747 skb_reserve(skb,2); /* 16 byte align */ 746 skb_reserve(skb,2); /* 16 byte align */
748 skb_put(skb,pkt_len); /* Make room */ 747 skb_put(skb,pkt_len); /* Make room */
749 eth_copy_and_sum(skb, (char *)priv->rx_buff[entry], pkt_len,0); 748 eth_copy_and_sum(skb, (char *)priv->rx_buff[entry], pkt_len,0);
diff --git a/drivers/net/arm/am79c961a.c b/drivers/net/arm/am79c961a.c
index ddd12d44ff2..8f0d7ce503c 100644
--- a/drivers/net/arm/am79c961a.c
+++ b/drivers/net/arm/am79c961a.c
@@ -526,7 +526,6 @@ am79c961_rx(struct net_device *dev, struct dev_priv *priv)
526 skb = dev_alloc_skb(len + 2); 526 skb = dev_alloc_skb(len + 2);
527 527
528 if (skb) { 528 if (skb) {
529 skb->dev = dev;
530 skb_reserve(skb, 2); 529 skb_reserve(skb, 2);
531 530
532 am_readbuffer(dev, pktaddr, skb_put(skb, len), len); 531 am_readbuffer(dev, pktaddr, skb_put(skb, len), len);
diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c
index 1621b8fe35c..152fa7a042b 100644
--- a/drivers/net/arm/at91_ether.c
+++ b/drivers/net/arm/at91_ether.c
@@ -858,7 +858,6 @@ static void at91ether_rx(struct net_device *dev)
858 skb_reserve(skb, 2); 858 skb_reserve(skb, 2);
859 memcpy(skb_put(skb, pktlen), p_recv, pktlen); 859 memcpy(skb_put(skb, pktlen), p_recv, pktlen);
860 860
861 skb->dev = dev;
862 skb->protocol = eth_type_trans(skb, dev); 861 skb->protocol = eth_type_trans(skb, dev);
863 dev->last_rx = jiffies; 862 dev->last_rx = jiffies;
864 lp->stats.rx_bytes += pktlen; 863 lp->stats.rx_bytes += pktlen;
diff --git a/drivers/net/arm/ep93xx_eth.c b/drivers/net/arm/ep93xx_eth.c
index dd698b033a6..2438c5bff23 100644
--- a/drivers/net/arm/ep93xx_eth.c
+++ b/drivers/net/arm/ep93xx_eth.c
@@ -255,7 +255,6 @@ static int ep93xx_rx(struct net_device *dev, int *budget)
255 255
256 skb = dev_alloc_skb(length + 2); 256 skb = dev_alloc_skb(length + 2);
257 if (likely(skb != NULL)) { 257 if (likely(skb != NULL)) {
258 skb->dev = dev;
259 skb_reserve(skb, 2); 258 skb_reserve(skb, 2);
260 dma_sync_single(NULL, ep->descs->rdesc[entry].buf_addr, 259 dma_sync_single(NULL, ep->descs->rdesc[entry].buf_addr,
261 length, DMA_FROM_DEVICE); 260 length, DMA_FROM_DEVICE);
diff --git a/drivers/net/arm/ether1.c b/drivers/net/arm/ether1.c
index a2921882eba..f075cebe84a 100644
--- a/drivers/net/arm/ether1.c
+++ b/drivers/net/arm/ether1.c
@@ -875,7 +875,6 @@ ether1_recv_done (struct net_device *dev)
875 skb = dev_alloc_skb (length + 2); 875 skb = dev_alloc_skb (length + 2);
876 876
877 if (skb) { 877 if (skb) {
878 skb->dev = dev;
879 skb_reserve (skb, 2); 878 skb_reserve (skb, 2);
880 879
881 ether1_readbuffer (dev, skb_put (skb, length), rbd.rbd_bufl, length); 880 ether1_readbuffer (dev, skb_put (skb, length), rbd.rbd_bufl, length);
diff --git a/drivers/net/arm/ether3.c b/drivers/net/arm/ether3.c
index 841178343a0..32da2eb9bce 100644
--- a/drivers/net/arm/ether3.c
+++ b/drivers/net/arm/ether3.c
@@ -661,7 +661,6 @@ if (next_ptr < RX_START || next_ptr >= RX_END) {
661 if (skb) { 661 if (skb) {
662 unsigned char *buf; 662 unsigned char *buf;
663 663
664 skb->dev = dev;
665 skb_reserve(skb, 2); 664 skb_reserve(skb, 2);
666 buf = skb_put(skb, length); 665 buf = skb_put(skb, length);
667 ether3_readbuffer(dev, buf + 12, length - 12); 666 ether3_readbuffer(dev, buf + 12, length - 12);
diff --git a/drivers/net/at1700.c b/drivers/net/at1700.c
index 56ae8babd91..bed8e0ebaf1 100644
--- a/drivers/net/at1700.c
+++ b/drivers/net/at1700.c
@@ -768,7 +768,6 @@ net_rx(struct net_device *dev)
768 lp->stats.rx_dropped++; 768 lp->stats.rx_dropped++;
769 break; 769 break;
770 } 770 }
771 skb->dev = dev;
772 skb_reserve(skb,2); 771 skb_reserve(skb,2);
773 772
774 insw(ioaddr + DATAPORT, skb_put(skb,pkt_len), (pkt_len + 1) >> 1); 773 insw(ioaddr + DATAPORT, skb_put(skb,pkt_len), (pkt_len + 1) >> 1);
diff --git a/drivers/net/atari_bionet.c b/drivers/net/atari_bionet.c
index 4e3bf6a1f22..f52e7f22f63 100644
--- a/drivers/net/atari_bionet.c
+++ b/drivers/net/atari_bionet.c
@@ -544,7 +544,6 @@ bionet_poll_rx(struct net_device *dev) {
544 break; 544 break;
545 } 545 }
546 546
547 skb->dev = dev;
548 skb_reserve( skb, 2 ); /* 16 Byte align */ 547 skb_reserve( skb, 2 ); /* 16 Byte align */
549 skb_put( skb, pkt_len ); /* make room */ 548 skb_put( skb, pkt_len ); /* make room */
550 549
diff --git a/drivers/net/atarilance.c b/drivers/net/atarilance.c
index 7e37ac86a69..dfa8b9ba4c8 100644
--- a/drivers/net/atarilance.c
+++ b/drivers/net/atarilance.c
@@ -1047,7 +1047,6 @@ static int lance_rx( struct net_device *dev )
1047 pkt_len ); 1047 pkt_len );
1048 } 1048 }
1049 1049
1050 skb->dev = dev;
1051 skb_reserve( skb, 2 ); /* 16 byte align */ 1050 skb_reserve( skb, 2 ); /* 16 byte align */
1052 skb_put( skb, pkt_len ); /* Make room */ 1051 skb_put( skb, pkt_len ); /* Make room */
1053 lp->memcpy_f( skb->data, PKTBUF_ADDR(head), pkt_len ); 1052 lp->memcpy_f( skb->data, PKTBUF_ADDR(head), pkt_len );
diff --git a/drivers/net/atl1/atl1_main.c b/drivers/net/atl1/atl1_main.c
index 8606eac5bec..e3f181602e4 100644
--- a/drivers/net/atl1/atl1_main.c
+++ b/drivers/net/atl1/atl1_main.c
@@ -408,7 +408,6 @@ static void atl1_rx_checksum(struct atl1_adapter *adapter,
408static u16 atl1_alloc_rx_buffers(struct atl1_adapter *adapter) 408static u16 atl1_alloc_rx_buffers(struct atl1_adapter *adapter)
409{ 409{
410 struct atl1_rfd_ring *rfd_ring = &adapter->rfd_ring; 410 struct atl1_rfd_ring *rfd_ring = &adapter->rfd_ring;
411 struct net_device *netdev = adapter->netdev;
412 struct pci_dev *pdev = adapter->pdev; 411 struct pci_dev *pdev = adapter->pdev;
413 struct page *page; 412 struct page *page;
414 unsigned long offset; 413 unsigned long offset;
@@ -444,7 +443,6 @@ static u16 atl1_alloc_rx_buffers(struct atl1_adapter *adapter)
444 * the 14 byte MAC header is removed 443 * the 14 byte MAC header is removed
445 */ 444 */
446 skb_reserve(skb, NET_IP_ALIGN); 445 skb_reserve(skb, NET_IP_ALIGN);
447 skb->dev = netdev;
448 446
449 buffer_info->alloced = 1; 447 buffer_info->alloced = 1;
450 buffer_info->skb = skb; 448 buffer_info->skb = skb;
diff --git a/drivers/net/atp.c b/drivers/net/atp.c
index 2d306fcb7f3..18aba838c1f 100644
--- a/drivers/net/atp.c
+++ b/drivers/net/atp.c
@@ -793,7 +793,6 @@ static void net_rx(struct net_device *dev)
793 lp->stats.rx_dropped++; 793 lp->stats.rx_dropped++;
794 goto done; 794 goto done;
795 } 795 }
796 skb->dev = dev;
797 796
798 skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */ 797 skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */
799 read_block(ioaddr, pkt_len, skb_put(skb,pkt_len), dev->if_port); 798 read_block(ioaddr, pkt_len, skb_put(skb,pkt_len), dev->if_port);
diff --git a/drivers/net/au1000_eth.c b/drivers/net/au1000_eth.c
index 69ae229b680..97b55f2546c 100644
--- a/drivers/net/au1000_eth.c
+++ b/drivers/net/au1000_eth.c
@@ -1205,7 +1205,6 @@ static int au1000_rx(struct net_device *dev)
1205 aup->stats.rx_dropped++; 1205 aup->stats.rx_dropped++;
1206 continue; 1206 continue;
1207 } 1207 }
1208 skb->dev = dev;
1209 skb_reserve(skb, 2); /* 16 byte IP header align */ 1208 skb_reserve(skb, 2); /* 16 byte IP header align */
1210 eth_copy_and_sum(skb, 1209 eth_copy_and_sum(skb,
1211 (unsigned char *)pDB->vaddr, frmlen, 0); 1210 (unsigned char *)pDB->vaddr, frmlen, 0);
diff --git a/drivers/net/b44.c b/drivers/net/b44.c
index d742bfe2447..f67d97de97f 100644
--- a/drivers/net/b44.c
+++ b/drivers/net/b44.c
@@ -825,7 +825,6 @@ static int b44_rx(struct b44 *bp, int budget)
825 if (copy_skb == NULL) 825 if (copy_skb == NULL)
826 goto drop_it_no_recycle; 826 goto drop_it_no_recycle;
827 827
828 copy_skb->dev = bp->dev;
829 skb_reserve(copy_skb, 2); 828 skb_reserve(copy_skb, 2);
830 skb_put(copy_skb, len); 829 skb_put(copy_skb, len);
831 /* DMA sync done above, copy just the actual packet */ 830 /* DMA sync done above, copy just the actual packet */
diff --git a/drivers/net/bmac.c b/drivers/net/bmac.c
index c143304dcff..4612725965d 100644
--- a/drivers/net/bmac.c
+++ b/drivers/net/bmac.c
@@ -715,7 +715,6 @@ static irqreturn_t bmac_rxdma_intr(int irq, void *dev_id)
715 if (skb != NULL) { 715 if (skb != NULL) {
716 nb -= ETHERCRC; 716 nb -= ETHERCRC;
717 skb_put(skb, nb); 717 skb_put(skb, nb);
718 skb->dev = dev;
719 skb->protocol = eth_type_trans(skb, dev); 718 skb->protocol = eth_type_trans(skb, dev);
720 netif_rx(skb); 719 netif_rx(skb);
721 dev->last_rx = jiffies; 720 dev->last_rx = jiffies;
diff --git a/drivers/net/cassini.c b/drivers/net/cassini.c
index c8126484c2b..68e37a655fe 100644
--- a/drivers/net/cassini.c
+++ b/drivers/net/cassini.c
@@ -1995,7 +1995,6 @@ static int cas_rx_process_pkt(struct cas *cp, struct cas_rx_comp *rxc,
1995 return -1; 1995 return -1;
1996 1996
1997 *skbref = skb; 1997 *skbref = skb;
1998 skb->dev = cp->dev;
1999 skb_reserve(skb, swivel); 1998 skb_reserve(skb, swivel);
2000 1999
2001 p = skb->data; 2000 p = skb->data;
diff --git a/drivers/net/chelsio/sge.c b/drivers/net/chelsio/sge.c
index 326d4a66512..47fa8dcf752 100644
--- a/drivers/net/chelsio/sge.c
+++ b/drivers/net/chelsio/sge.c
@@ -1379,12 +1379,11 @@ static void sge_rx(struct sge *sge, struct freelQ *fl, unsigned int len)
1379 } 1379 }
1380 __skb_pull(skb, sizeof(*p)); 1380 __skb_pull(skb, sizeof(*p));
1381 1381
1382 skb->dev = adapter->port[p->iff].dev;
1383 skb->dev->last_rx = jiffies; 1382 skb->dev->last_rx = jiffies;
1384 st = per_cpu_ptr(sge->port_stats[p->iff], smp_processor_id()); 1383 st = per_cpu_ptr(sge->port_stats[p->iff], smp_processor_id());
1385 st->rx_packets++; 1384 st->rx_packets++;
1386 1385
1387 skb->protocol = eth_type_trans(skb, skb->dev); 1386 skb->protocol = eth_type_trans(skb, adapter->port[p->iff].dev);
1388 if ((adapter->flags & RX_CSUM_ENABLED) && p->csum == 0xffff && 1387 if ((adapter->flags & RX_CSUM_ENABLED) && p->csum == 0xffff &&
1389 skb->protocol == htons(ETH_P_IP) && 1388 skb->protocol == htons(ETH_P_IP) &&
1390 (skb->data[9] == IPPROTO_TCP || skb->data[9] == IPPROTO_UDP)) { 1389 (skb->data[9] == IPPROTO_TCP || skb->data[9] == IPPROTO_UDP)) {
diff --git a/drivers/net/cris/eth_v10.c b/drivers/net/cris/eth_v10.c
index 8eb57127600..98643801a3b 100644
--- a/drivers/net/cris/eth_v10.c
+++ b/drivers/net/cris/eth_v10.c
@@ -1375,7 +1375,6 @@ e100_rx(struct net_device *dev)
1375 myNextRxDesc->descr.buf = L1_CACHE_ALIGN(virt_to_phys(myNextRxDesc->skb->data)); 1375 myNextRxDesc->descr.buf = L1_CACHE_ALIGN(virt_to_phys(myNextRxDesc->skb->data));
1376 } 1376 }
1377 1377
1378 skb->dev = dev;
1379 skb->protocol = eth_type_trans(skb, dev); 1378 skb->protocol = eth_type_trans(skb, dev);
1380 1379
1381 /* Send the packet to the upper layers */ 1380 /* Send the packet to the upper layers */
diff --git a/drivers/net/cs89x0.c b/drivers/net/cs89x0.c
index 4612f71a710..9774bb1b3e8 100644
--- a/drivers/net/cs89x0.c
+++ b/drivers/net/cs89x0.c
@@ -1004,7 +1004,6 @@ skip_this_frame:
1004 return; 1004 return;
1005 } 1005 }
1006 skb_reserve(skb, 2); /* longword align L3 header */ 1006 skb_reserve(skb, 2); /* longword align L3 header */
1007 skb->dev = dev;
1008 1007
1009 if (bp + length > lp->end_dma_buff) { 1008 if (bp + length > lp->end_dma_buff) {
1010 int semi_cnt = lp->end_dma_buff - bp; 1009 int semi_cnt = lp->end_dma_buff - bp;
@@ -1702,7 +1701,6 @@ net_rx(struct net_device *dev)
1702 return; 1701 return;
1703 } 1702 }
1704 skb_reserve(skb, 2); /* longword align L3 header */ 1703 skb_reserve(skb, 2); /* longword align L3 header */
1705 skb->dev = dev;
1706 1704
1707 readwords(ioaddr, RX_FRAME_PORT, skb_put(skb, length), length >> 1); 1705 readwords(ioaddr, RX_FRAME_PORT, skb_put(skb, length), length >> 1);
1708 if (length & 1) 1706 if (length & 1)
diff --git a/drivers/net/cxgb3/sge.c b/drivers/net/cxgb3/sge.c
index 027ab2c3825..8946f7aa97c 100644
--- a/drivers/net/cxgb3/sge.c
+++ b/drivers/net/cxgb3/sge.c
@@ -1684,9 +1684,8 @@ static void rx_eth(struct adapter *adap, struct sge_rspq *rq,
1684 struct port_info *pi; 1684 struct port_info *pi;
1685 1685
1686 skb_pull(skb, sizeof(*p) + pad); 1686 skb_pull(skb, sizeof(*p) + pad);
1687 skb->dev = adap->port[p->iff];
1688 skb->dev->last_rx = jiffies; 1687 skb->dev->last_rx = jiffies;
1689 skb->protocol = eth_type_trans(skb, skb->dev); 1688 skb->protocol = eth_type_trans(skb, adap->port[p->iff]);
1690 pi = netdev_priv(skb->dev); 1689 pi = netdev_priv(skb->dev);
1691 if (pi->rx_csum_offload && p->csum_valid && p->csum == 0xffff && 1690 if (pi->rx_csum_offload && p->csum_valid && p->csum == 0xffff &&
1692 !p->fragment) { 1691 !p->fragment) {
diff --git a/drivers/net/de600.c b/drivers/net/de600.c
index e547ce14eef..dae97b860da 100644
--- a/drivers/net/de600.c
+++ b/drivers/net/de600.c
@@ -359,7 +359,6 @@ static void de600_rx_intr(struct net_device *dev)
359 } 359 }
360 /* else */ 360 /* else */
361 361
362 skb->dev = dev;
363 skb_reserve(skb,2); /* Align */ 362 skb_reserve(skb,2); /* Align */
364 363
365 /* 'skb->data' points to the start of sk_buff data area. */ 364 /* 'skb->data' points to the start of sk_buff data area. */
diff --git a/drivers/net/de620.c b/drivers/net/de620.c
index b6ad0cb5055..dc489242617 100644
--- a/drivers/net/de620.c
+++ b/drivers/net/de620.c
@@ -697,7 +697,6 @@ static int de620_rx_intr(struct net_device *dev)
697 } 697 }
698 else { /* Yep! Go get it! */ 698 else { /* Yep! Go get it! */
699 skb_reserve(skb,2); /* Align */ 699 skb_reserve(skb,2); /* Align */
700 skb->dev = dev;
701 /* skb->data points to the start of sk_buff data area */ 700 /* skb->data points to the start of sk_buff data area */
702 buffer = skb_put(skb,size); 701 buffer = skb_put(skb,size);
703 /* copy the packet into the buffer */ 702 /* copy the packet into the buffer */
diff --git a/drivers/net/declance.c b/drivers/net/declance.c
index 9f7e1db8ce6..95d854e2295 100644
--- a/drivers/net/declance.c
+++ b/drivers/net/declance.c
@@ -616,7 +616,6 @@ static int lance_rx(struct net_device *dev)
616 } 616 }
617 lp->stats.rx_bytes += len; 617 lp->stats.rx_bytes += len;
618 618
619 skb->dev = dev;
620 skb_reserve(skb, 2); /* 16 byte align */ 619 skb_reserve(skb, 2); /* 16 byte align */
621 skb_put(skb, len); /* make room */ 620 skb_put(skb, len); /* make room */
622 621
diff --git a/drivers/net/depca.c b/drivers/net/depca.c
index f3807aaf10a..183497020bf 100644
--- a/drivers/net/depca.c
+++ b/drivers/net/depca.c
@@ -1044,7 +1044,6 @@ static int depca_rx(struct net_device *dev)
1044 unsigned char *buf; 1044 unsigned char *buf;
1045 skb_reserve(skb, 2); /* 16 byte align the IP header */ 1045 skb_reserve(skb, 2); /* 16 byte align the IP header */
1046 buf = skb_put(skb, pkt_len); 1046 buf = skb_put(skb, pkt_len);
1047 skb->dev = dev;
1048 if (entry < lp->rx_old) { /* Wrapped buffer */ 1047 if (entry < lp->rx_old) { /* Wrapped buffer */
1049 len = (lp->rxRingMask - lp->rx_old + 1) * RX_BUFF_SZ; 1048 len = (lp->rxRingMask - lp->rx_old + 1) * RX_BUFF_SZ;
1050 memcpy_fromio(buf, lp->rx_buff[lp->rx_old], len); 1049 memcpy_fromio(buf, lp->rx_buff[lp->rx_old], len);
diff --git a/drivers/net/dgrs.c b/drivers/net/dgrs.c
index a79520295fd..d223c38966f 100644
--- a/drivers/net/dgrs.c
+++ b/drivers/net/dgrs.c
@@ -503,7 +503,6 @@ dgrs_rcv_frame(
503 /* discarding the frame */ 503 /* discarding the frame */
504 goto out; 504 goto out;
505 } 505 }
506 skb->dev = devN;
507 skb_reserve(skb, 2); /* Align IP header */ 506 skb_reserve(skb, 2); /* Align IP header */
508 507
509again: 508again:
diff --git a/drivers/net/dl2k.c b/drivers/net/dl2k.c
index 9d446a0fe0b..74ec64a1625 100644
--- a/drivers/net/dl2k.c
+++ b/drivers/net/dl2k.c
@@ -504,7 +504,6 @@ rio_timer (unsigned long data)
504 break; 504 break;
505 } 505 }
506 np->rx_skbuff[entry] = skb; 506 np->rx_skbuff[entry] = skb;
507 skb->dev = dev;
508 /* 16 byte align the IP header */ 507 /* 16 byte align the IP header */
509 skb_reserve (skb, 2); 508 skb_reserve (skb, 2);
510 np->rx_ring[entry].fraginfo = 509 np->rx_ring[entry].fraginfo =
@@ -575,7 +574,6 @@ alloc_list (struct net_device *dev)
575 dev->name); 574 dev->name);
576 break; 575 break;
577 } 576 }
578 skb->dev = dev; /* Mark as being used by this device. */
579 skb_reserve (skb, 2); /* 16 byte align the IP header. */ 577 skb_reserve (skb, 2); /* 16 byte align the IP header. */
580 /* Rubicon now supports 40 bits of addressing space. */ 578 /* Rubicon now supports 40 bits of addressing space. */
581 np->rx_ring[i].fraginfo = 579 np->rx_ring[i].fraginfo =
@@ -866,7 +864,6 @@ receive_packet (struct net_device *dev)
866 DMA_48BIT_MASK, 864 DMA_48BIT_MASK,
867 np->rx_buf_sz, 865 np->rx_buf_sz,
868 PCI_DMA_FROMDEVICE); 866 PCI_DMA_FROMDEVICE);
869 skb->dev = dev;
870 /* 16 byte align the IP header */ 867 /* 16 byte align the IP header */
871 skb_reserve (skb, 2); 868 skb_reserve (skb, 2);
872 eth_copy_and_sum (skb, 869 eth_copy_and_sum (skb,
@@ -910,7 +907,6 @@ receive_packet (struct net_device *dev)
910 break; 907 break;
911 } 908 }
912 np->rx_skbuff[entry] = skb; 909 np->rx_skbuff[entry] = skb;
913 skb->dev = dev;
914 /* 16 byte align the IP header */ 910 /* 16 byte align the IP header */
915 skb_reserve (skb, 2); 911 skb_reserve (skb, 2);
916 np->rx_ring[entry].fraginfo = 912 np->rx_ring[entry].fraginfo =
diff --git a/drivers/net/dm9000.c b/drivers/net/dm9000.c
index 615d2b14efa..8cc1174e7f6 100644
--- a/drivers/net/dm9000.c
+++ b/drivers/net/dm9000.c
@@ -954,7 +954,6 @@ dm9000_rx(struct net_device *dev)
954 /* Move data from DM9000 */ 954 /* Move data from DM9000 */
955 if (GoodPacket 955 if (GoodPacket
956 && ((skb = dev_alloc_skb(RxLen + 4)) != NULL)) { 956 && ((skb = dev_alloc_skb(RxLen + 4)) != NULL)) {
957 skb->dev = dev;
958 skb_reserve(skb, 2); 957 skb_reserve(skb, 2);
959 rdptr = (u8 *) skb_put(skb, RxLen - 4); 958 rdptr = (u8 *) skb_put(skb, RxLen - 4);
960 959
diff --git a/drivers/net/eepro.c b/drivers/net/eepro.c
index b4463094c93..39654e1e2be 100644
--- a/drivers/net/eepro.c
+++ b/drivers/net/eepro.c
@@ -1591,7 +1591,6 @@ eepro_rx(struct net_device *dev)
1591 1591
1592 break; 1592 break;
1593 } 1593 }
1594 skb->dev = dev;
1595 skb_reserve(skb,2); 1594 skb_reserve(skb,2);
1596 1595
1597 if (lp->version == LAN595) 1596 if (lp->version == LAN595)
diff --git a/drivers/net/eepro100.c b/drivers/net/eepro100.c
index e28bb1e38f8..db658bc491a 100644
--- a/drivers/net/eepro100.c
+++ b/drivers/net/eepro100.c
@@ -1793,7 +1793,6 @@ speedo_rx(struct net_device *dev)
1793 copying to a properly sized skbuff. */ 1793 copying to a properly sized skbuff. */
1794 if (pkt_len < rx_copybreak 1794 if (pkt_len < rx_copybreak
1795 && (skb = dev_alloc_skb(pkt_len + 2)) != 0) { 1795 && (skb = dev_alloc_skb(pkt_len + 2)) != 0) {
1796 skb->dev = dev;
1797 skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */ 1796 skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */
1798 /* 'skb_put()' points to the start of sk_buff data area. */ 1797 /* 'skb_put()' points to the start of sk_buff data area. */
1799 pci_dma_sync_single_for_cpu(sp->pdev, sp->rx_ring_dma[entry], 1798 pci_dma_sync_single_for_cpu(sp->pdev, sp->rx_ring_dma[entry],
diff --git a/drivers/net/eexpress.c b/drivers/net/eexpress.c
index 3868b803126..8aaf5ec0c36 100644
--- a/drivers/net/eexpress.c
+++ b/drivers/net/eexpress.c
@@ -976,7 +976,6 @@ static void eexp_hw_rx_pio(struct net_device *dev)
976 lp->stats.rx_dropped++; 976 lp->stats.rx_dropped++;
977 break; 977 break;
978 } 978 }
979 skb->dev = dev;
980 skb_reserve(skb, 2); 979 skb_reserve(skb, 2);
981 outw(pbuf+10, ioaddr+READ_PTR); 980 outw(pbuf+10, ioaddr+READ_PTR);
982 insw(ioaddr+DATAPORT, skb_put(skb,pkt_len),(pkt_len+1)>>1); 981 insw(ioaddr+DATAPORT, skb_put(skb,pkt_len),(pkt_len+1)>>1);
diff --git a/drivers/net/epic100.c b/drivers/net/epic100.c
index 3a6a83d3ee1..4e3f14c9c71 100644
--- a/drivers/net/epic100.c
+++ b/drivers/net/epic100.c
@@ -934,7 +934,6 @@ static void epic_init_ring(struct net_device *dev)
934 ep->rx_skbuff[i] = skb; 934 ep->rx_skbuff[i] = skb;
935 if (skb == NULL) 935 if (skb == NULL)
936 break; 936 break;
937 skb->dev = dev; /* Mark as being used by this device. */
938 skb_reserve(skb, 2); /* 16 byte align the IP header. */ 937 skb_reserve(skb, 2); /* 16 byte align the IP header. */
939 ep->rx_ring[i].bufaddr = pci_map_single(ep->pci_dev, 938 ep->rx_ring[i].bufaddr = pci_map_single(ep->pci_dev,
940 skb->data, ep->rx_buf_sz, PCI_DMA_FROMDEVICE); 939 skb->data, ep->rx_buf_sz, PCI_DMA_FROMDEVICE);
@@ -1199,7 +1198,6 @@ static int epic_rx(struct net_device *dev, int budget)
1199 to a minimally-sized skbuff. */ 1198 to a minimally-sized skbuff. */
1200 if (pkt_len < rx_copybreak 1199 if (pkt_len < rx_copybreak
1201 && (skb = dev_alloc_skb(pkt_len + 2)) != NULL) { 1200 && (skb = dev_alloc_skb(pkt_len + 2)) != NULL) {
1202 skb->dev = dev;
1203 skb_reserve(skb, 2); /* 16 byte align the IP header */ 1201 skb_reserve(skb, 2); /* 16 byte align the IP header */
1204 pci_dma_sync_single_for_cpu(ep->pci_dev, 1202 pci_dma_sync_single_for_cpu(ep->pci_dev,
1205 ep->rx_ring[entry].bufaddr, 1203 ep->rx_ring[entry].bufaddr,
@@ -1236,7 +1234,6 @@ static int epic_rx(struct net_device *dev, int budget)
1236 skb = ep->rx_skbuff[entry] = dev_alloc_skb(ep->rx_buf_sz); 1234 skb = ep->rx_skbuff[entry] = dev_alloc_skb(ep->rx_buf_sz);
1237 if (skb == NULL) 1235 if (skb == NULL)
1238 break; 1236 break;
1239 skb->dev = dev; /* Mark as being used by this device. */
1240 skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */ 1237 skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */
1241 ep->rx_ring[entry].bufaddr = pci_map_single(ep->pci_dev, 1238 ep->rx_ring[entry].bufaddr = pci_map_single(ep->pci_dev,
1242 skb->data, ep->rx_buf_sz, PCI_DMA_FROMDEVICE); 1239 skb->data, ep->rx_buf_sz, PCI_DMA_FROMDEVICE);
diff --git a/drivers/net/eth16i.c b/drivers/net/eth16i.c
index 93283e386f3..04abf59e500 100644
--- a/drivers/net/eth16i.c
+++ b/drivers/net/eth16i.c
@@ -1175,7 +1175,6 @@ static void eth16i_rx(struct net_device *dev)
1175 break; 1175 break;
1176 } 1176 }
1177 1177
1178 skb->dev = dev;
1179 skb_reserve(skb,2); 1178 skb_reserve(skb,2);
1180 1179
1181 /* 1180 /*
diff --git a/drivers/net/ewrk3.c b/drivers/net/ewrk3.c
index 714ea1176ec..cb0792c187b 100644
--- a/drivers/net/ewrk3.c
+++ b/drivers/net/ewrk3.c
@@ -993,7 +993,6 @@ static int ewrk3_rx(struct net_device *dev)
993 993
994 if ((skb = dev_alloc_skb(pkt_len + 2)) != NULL) { 994 if ((skb = dev_alloc_skb(pkt_len + 2)) != NULL) {
995 unsigned char *p; 995 unsigned char *p;
996 skb->dev = dev;
997 skb_reserve(skb, 2); /* Align to 16 bytes */ 996 skb_reserve(skb, 2); /* Align to 16 bytes */
998 p = skb_put(skb, pkt_len); 997 p = skb_put(skb, pkt_len);
999 998
diff --git a/drivers/net/fealnx.c b/drivers/net/fealnx.c
index 38a13f44053..abe9b089c61 100644
--- a/drivers/net/fealnx.c
+++ b/drivers/net/fealnx.c
@@ -1719,7 +1719,6 @@ static int netdev_rx(struct net_device *dev)
1719 to a minimally-sized skbuff. */ 1719 to a minimally-sized skbuff. */
1720 if (pkt_len < rx_copybreak && 1720 if (pkt_len < rx_copybreak &&
1721 (skb = dev_alloc_skb(pkt_len + 2)) != NULL) { 1721 (skb = dev_alloc_skb(pkt_len + 2)) != NULL) {
1722 skb->dev = dev;
1723 skb_reserve(skb, 2); /* 16 byte align the IP header */ 1722 skb_reserve(skb, 2); /* 16 byte align the IP header */
1724 pci_dma_sync_single_for_cpu(np->pci_dev, 1723 pci_dma_sync_single_for_cpu(np->pci_dev,
1725 np->cur_rx->buffer, 1724 np->cur_rx->buffer,
diff --git a/drivers/net/fec.c b/drivers/net/fec.c
index 6764281b453..255b09124e1 100644
--- a/drivers/net/fec.c
+++ b/drivers/net/fec.c
@@ -647,7 +647,6 @@ while (!((status = bdp->cbd_sc) & BD_ENET_RX_EMPTY)) {
647 printk("%s: Memory squeeze, dropping packet.\n", dev->name); 647 printk("%s: Memory squeeze, dropping packet.\n", dev->name);
648 fep->stats.rx_dropped++; 648 fep->stats.rx_dropped++;
649 } else { 649 } else {
650 skb->dev = dev;
651 skb_put(skb,pkt_len-4); /* Make room */ 650 skb_put(skb,pkt_len-4); /* Make room */
652 eth_copy_and_sum(skb, data, pkt_len-4, 0); 651 eth_copy_and_sum(skb, data, pkt_len-4, 0);
653 skb->protocol=eth_type_trans(skb,dev); 652 skb->protocol=eth_type_trans(skb,dev);
diff --git a/drivers/net/fec_8xx/fec_main.c b/drivers/net/fec_8xx/fec_main.c
index 77f747a5afa..698dba8f2aa 100644
--- a/drivers/net/fec_8xx/fec_main.c
+++ b/drivers/net/fec_8xx/fec_main.c
@@ -561,7 +561,6 @@ static int fec_enet_rx_common(struct net_device *dev, int *budget)
561 skbn = dev_alloc_skb(ENET_RX_FRSIZE); 561 skbn = dev_alloc_skb(ENET_RX_FRSIZE);
562 562
563 if (skbn != NULL) { 563 if (skbn != NULL) {
564 skb->dev = dev;
565 skb_put(skb, pkt_len); /* Make room */ 564 skb_put(skb, pkt_len); /* Make room */
566 skb->protocol = eth_type_trans(skb, dev); 565 skb->protocol = eth_type_trans(skb, dev);
567 received++; 566 received++;
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c
index d04214e4e58..d5d458c3421 100644
--- a/drivers/net/forcedeth.c
+++ b/drivers/net/forcedeth.c
@@ -1385,7 +1385,6 @@ static int nv_alloc_rx(struct net_device *dev)
1385 while (np->put_rx.orig != less_rx) { 1385 while (np->put_rx.orig != less_rx) {
1386 struct sk_buff *skb = dev_alloc_skb(np->rx_buf_sz + NV_RX_ALLOC_PAD); 1386 struct sk_buff *skb = dev_alloc_skb(np->rx_buf_sz + NV_RX_ALLOC_PAD);
1387 if (skb) { 1387 if (skb) {
1388 skb->dev = dev;
1389 np->put_rx_ctx->skb = skb; 1388 np->put_rx_ctx->skb = skb;
1390 np->put_rx_ctx->dma = pci_map_single(np->pci_dev, skb->data, 1389 np->put_rx_ctx->dma = pci_map_single(np->pci_dev, skb->data,
1391 skb->end-skb->data, PCI_DMA_FROMDEVICE); 1390 skb->end-skb->data, PCI_DMA_FROMDEVICE);
@@ -1416,7 +1415,6 @@ static int nv_alloc_rx_optimized(struct net_device *dev)
1416 while (np->put_rx.ex != less_rx) { 1415 while (np->put_rx.ex != less_rx) {
1417 struct sk_buff *skb = dev_alloc_skb(np->rx_buf_sz + NV_RX_ALLOC_PAD); 1416 struct sk_buff *skb = dev_alloc_skb(np->rx_buf_sz + NV_RX_ALLOC_PAD);
1418 if (skb) { 1417 if (skb) {
1419 skb->dev = dev;
1420 np->put_rx_ctx->skb = skb; 1418 np->put_rx_ctx->skb = skb;
1421 np->put_rx_ctx->dma = pci_map_single(np->pci_dev, skb->data, 1419 np->put_rx_ctx->dma = pci_map_single(np->pci_dev, skb->data,
1422 skb->end-skb->data, PCI_DMA_FROMDEVICE); 1420 skb->end-skb->data, PCI_DMA_FROMDEVICE);
diff --git a/drivers/net/fs_enet/fs_enet-main.c b/drivers/net/fs_enet/fs_enet-main.c
index 4a05c14bf7e..9f6ef315ce5 100644
--- a/drivers/net/fs_enet/fs_enet-main.c
+++ b/drivers/net/fs_enet/fs_enet-main.c
@@ -170,7 +170,6 @@ static int fs_enet_rx_napi(struct net_device *dev, int *budget)
170 skbn = dev_alloc_skb(ENET_RX_FRSIZE); 170 skbn = dev_alloc_skb(ENET_RX_FRSIZE);
171 171
172 if (skbn != NULL) { 172 if (skbn != NULL) {
173 skb->dev = dev;
174 skb_put(skb, pkt_len); /* Make room */ 173 skb_put(skb, pkt_len); /* Make room */
175 skb->protocol = eth_type_trans(skb, dev); 174 skb->protocol = eth_type_trans(skb, dev);
176 received++; 175 received++;
@@ -304,7 +303,6 @@ static int fs_enet_rx_non_napi(struct net_device *dev)
304 skbn = dev_alloc_skb(ENET_RX_FRSIZE); 303 skbn = dev_alloc_skb(ENET_RX_FRSIZE);
305 304
306 if (skbn != NULL) { 305 if (skbn != NULL) {
307 skb->dev = dev;
308 skb_put(skb, pkt_len); /* Make room */ 306 skb_put(skb, pkt_len); /* Make room */
309 skb->protocol = eth_type_trans(skb, dev); 307 skb->protocol = eth_type_trans(skb, dev);
310 received++; 308 received++;
@@ -516,7 +514,6 @@ void fs_init_bds(struct net_device *dev)
516 break; 514 break;
517 } 515 }
518 fep->rx_skbuff[i] = skb; 516 fep->rx_skbuff[i] = skb;
519 skb->dev = dev;
520 CBDW_BUFADDR(bdp, 517 CBDW_BUFADDR(bdp,
521 dma_map_single(fep->dev, skb->data, 518 dma_map_single(fep->dev, skb->data,
522 L1_CACHE_ALIGN(PKT_MAXBUF_SIZE), 519 L1_CACHE_ALIGN(PKT_MAXBUF_SIZE),
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c
index d981d4c41dd..1d019195a39 100644
--- a/drivers/net/gianfar.c
+++ b/drivers/net/gianfar.c
@@ -1295,8 +1295,6 @@ struct sk_buff * gfar_new_skb(struct net_device *dev, struct rxbd8 *bdp)
1295 */ 1295 */
1296 skb_reserve(skb, alignamount); 1296 skb_reserve(skb, alignamount);
1297 1297
1298 skb->dev = dev;
1299
1300 bdp->bufPtr = dma_map_single(NULL, skb->data, 1298 bdp->bufPtr = dma_map_single(NULL, skb->data,
1301 priv->rx_buffer_size, DMA_FROM_DEVICE); 1299 priv->rx_buffer_size, DMA_FROM_DEVICE);
1302 1300
diff --git a/drivers/net/hamachi.c b/drivers/net/hamachi.c
index c3c0d67fc38..2521b111b3a 100644
--- a/drivers/net/hamachi.c
+++ b/drivers/net/hamachi.c
@@ -1568,7 +1568,6 @@ static int hamachi_rx(struct net_device *dev)
1568 printk(KERN_ERR "%s: rx_copybreak non-zero " 1568 printk(KERN_ERR "%s: rx_copybreak non-zero "
1569 "not good with RX_CHECKSUM\n", dev->name); 1569 "not good with RX_CHECKSUM\n", dev->name);
1570#endif 1570#endif
1571 skb->dev = dev;
1572 skb_reserve(skb, 2); /* 16 byte align the IP header */ 1571 skb_reserve(skb, 2); /* 16 byte align the IP header */
1573 pci_dma_sync_single_for_cpu(hmp->pci_dev, 1572 pci_dma_sync_single_for_cpu(hmp->pci_dev,
1574 hmp->rx_ring[entry].addr, 1573 hmp->rx_ring[entry].addr,
diff --git a/drivers/net/hp100.c b/drivers/net/hp100.c
index 7dc5185aa2c..8118a6750b6 100644
--- a/drivers/net/hp100.c
+++ b/drivers/net/hp100.c
@@ -1816,7 +1816,6 @@ static void hp100_rx(struct net_device *dev)
1816 u_char *ptr; 1816 u_char *ptr;
1817 1817
1818 skb_reserve(skb,2); 1818 skb_reserve(skb,2);
1819 skb->dev = dev;
1820 1819
1821 /* ptr to start of the sk_buff data area */ 1820 /* ptr to start of the sk_buff data area */
1822 skb_put(skb, pkt_len); 1821 skb_put(skb, pkt_len);
diff --git a/drivers/net/ibm_emac/ibm_emac_core.c b/drivers/net/ibm_emac/ibm_emac_core.c
index dd8ad874682..b1ad62d89eb 100644
--- a/drivers/net/ibm_emac/ibm_emac_core.c
+++ b/drivers/net/ibm_emac/ibm_emac_core.c
@@ -1398,7 +1398,6 @@ static int emac_poll_rx(void *param, int budget)
1398 1398
1399 skb_put(skb, len); 1399 skb_put(skb, len);
1400 push_packet: 1400 push_packet:
1401 skb->dev = dev->ndev;
1402 skb->protocol = eth_type_trans(skb, dev->ndev); 1401 skb->protocol = eth_type_trans(skb, dev->ndev);
1403 emac_rx_csum(dev, skb, ctrl); 1402 emac_rx_csum(dev, skb, ctrl);
1404 1403
diff --git a/drivers/net/ibmlana.c b/drivers/net/ibmlana.c
index 3f946c81151..fe85d6fcba3 100644
--- a/drivers/net/ibmlana.c
+++ b/drivers/net/ibmlana.c
@@ -601,7 +601,6 @@ static void irqrx_handler(struct net_device *dev)
601 601
602 /* set up skb fields */ 602 /* set up skb fields */
603 603
604 skb->dev = dev;
605 skb->protocol = eth_type_trans(skb, dev); 604 skb->protocol = eth_type_trans(skb, dev);
606 skb->ip_summed = CHECKSUM_NONE; 605 skb->ip_summed = CHECKSUM_NONE;
607 606
diff --git a/drivers/net/ibmveth.c b/drivers/net/ibmveth.c
index 458db0538a9..0573fcfcb2c 100644
--- a/drivers/net/ibmveth.c
+++ b/drivers/net/ibmveth.c
@@ -798,7 +798,6 @@ static int ibmveth_poll(struct net_device *netdev, int *budget)
798 798
799 skb_reserve(skb, offset); 799 skb_reserve(skb, offset);
800 skb_put(skb, length); 800 skb_put(skb, length);
801 skb->dev = netdev;
802 skb->protocol = eth_type_trans(skb, netdev); 801 skb->protocol = eth_type_trans(skb, netdev);
803 802
804 netif_receive_skb(skb); /* send it up */ 803 netif_receive_skb(skb); /* send it up */
diff --git a/drivers/net/ioc3-eth.c b/drivers/net/ioc3-eth.c
index 4ad780719a8..ea07aa5ba51 100644
--- a/drivers/net/ioc3-eth.c
+++ b/drivers/net/ioc3-eth.c
@@ -633,8 +633,6 @@ static inline void ioc3_rx(struct ioc3_private *ip)
633 633
634 ip->rx_skbs[rx_entry] = NULL; /* Poison */ 634 ip->rx_skbs[rx_entry] = NULL; /* Poison */
635 635
636 new_skb->dev = priv_netdev(ip);
637
638 /* Because we reserve afterwards. */ 636 /* Because we reserve afterwards. */
639 skb_put(new_skb, (1664 + RX_OFFSET)); 637 skb_put(new_skb, (1664 + RX_OFFSET));
640 rxb = (struct ioc3_erxbuf *) new_skb->data; 638 rxb = (struct ioc3_erxbuf *) new_skb->data;
@@ -940,7 +938,6 @@ static void ioc3_alloc_rings(struct net_device *dev)
940 } 938 }
941 939
942 ip->rx_skbs[i] = skb; 940 ip->rx_skbs[i] = skb;
943 skb->dev = dev;
944 941
945 /* Because we reserve afterwards. */ 942 /* Because we reserve afterwards. */
946 skb_put(skb, (1664 + RX_OFFSET)); 943 skb_put(skb, (1664 + RX_OFFSET));
diff --git a/drivers/net/iseries_veth.c b/drivers/net/iseries_veth.c
index 0e9ba3c3faf..347d50cd77d 100644
--- a/drivers/net/iseries_veth.c
+++ b/drivers/net/iseries_veth.c
@@ -1540,7 +1540,6 @@ static void veth_receive(struct veth_lpar_connection *cnx,
1540 } 1540 }
1541 1541
1542 skb_put(skb, length); 1542 skb_put(skb, length);
1543 skb->dev = dev;
1544 skb->protocol = eth_type_trans(skb, dev); 1543 skb->protocol = eth_type_trans(skb, dev);
1545 skb->ip_summed = CHECKSUM_NONE; 1544 skb->ip_summed = CHECKSUM_NONE;
1546 netif_rx(skb); /* send it up */ 1545 netif_rx(skb); /* send it up */
diff --git a/drivers/net/ixp2000/ixpdev.c b/drivers/net/ixp2000/ixpdev.c
index a4eccb11d67..6683afc02aa 100644
--- a/drivers/net/ixp2000/ixpdev.c
+++ b/drivers/net/ixp2000/ixpdev.c
@@ -110,11 +110,10 @@ static int ixpdev_rx(struct net_device *dev, int *budget)
110 110
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->dev = nds[desc->channel];
114 skb_reserve(skb, 2); 113 skb_reserve(skb, 2);
115 eth_copy_and_sum(skb, buf, desc->pkt_length, 0); 114 eth_copy_and_sum(skb, buf, desc->pkt_length, 0);
116 skb_put(skb, desc->pkt_length); 115 skb_put(skb, desc->pkt_length);
117 skb->protocol = eth_type_trans(skb, skb->dev); 116 skb->protocol = eth_type_trans(skb, nds[desc->channel]);
118 117
119 skb->dev->last_rx = jiffies; 118 skb->dev->last_rx = jiffies;
120 119
diff --git a/drivers/net/lance.c b/drivers/net/lance.c
index a3843320dbe..11cbcb946db 100644
--- a/drivers/net/lance.c
+++ b/drivers/net/lance.c
@@ -1184,7 +1184,6 @@ lance_rx(struct net_device *dev)
1184 } 1184 }
1185 break; 1185 break;
1186 } 1186 }
1187 skb->dev = dev;
1188 skb_reserve(skb,2); /* 16 byte align */ 1187 skb_reserve(skb,2); /* 16 byte align */
1189 skb_put(skb,pkt_len); /* Make room */ 1188 skb_put(skb,pkt_len); /* Make room */
1190 eth_copy_and_sum(skb, 1189 eth_copy_and_sum(skb,
diff --git a/drivers/net/lasi_82596.c b/drivers/net/lasi_82596.c
index 452863d5d49..0edcd125fd6 100644
--- a/drivers/net/lasi_82596.c
+++ b/drivers/net/lasi_82596.c
@@ -801,7 +801,6 @@ memory_squeeze:
801 lp->stats.rx_dropped++; 801 lp->stats.rx_dropped++;
802 } 802 }
803 else { 803 else {
804 skb->dev = dev;
805 if (!rx_in_place) { 804 if (!rx_in_place) {
806 /* 16 byte align the data fields */ 805 /* 16 byte align the data fields */
807 dma_sync_single_for_cpu(lp->dev, (dma_addr_t)WSWAPchar(rbd->b_data), PKT_BUF_SZ, DMA_FROM_DEVICE); 806 dma_sync_single_for_cpu(lp->dev, (dma_addr_t)WSWAPchar(rbd->b_data), PKT_BUF_SZ, DMA_FROM_DEVICE);
diff --git a/drivers/net/lib8390.c b/drivers/net/lib8390.c
index e726c06b8dc..5c86e737f95 100644
--- a/drivers/net/lib8390.c
+++ b/drivers/net/lib8390.c
@@ -722,7 +722,6 @@ static void ei_receive(struct net_device *dev)
722 else 722 else
723 { 723 {
724 skb_reserve(skb,2); /* IP headers on 16 byte boundaries */ 724 skb_reserve(skb,2); /* IP headers on 16 byte boundaries */
725 skb->dev = dev;
726 skb_put(skb, pkt_len); /* Make room */ 725 skb_put(skb, pkt_len); /* Make room */
727 ei_block_input(dev, pkt_len, skb, current_offset + sizeof(rx_frame)); 726 ei_block_input(dev, pkt_len, skb, current_offset + sizeof(rx_frame));
728 skb->protocol=eth_type_trans(skb,dev); 727 skb->protocol=eth_type_trans(skb,dev);
diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c
index 2b739fd584f..4380e5e89dc 100644
--- a/drivers/net/loopback.c
+++ b/drivers/net/loopback.c
@@ -137,7 +137,6 @@ static int loopback_xmit(struct sk_buff *skb, struct net_device *dev)
137 skb_orphan(skb); 137 skb_orphan(skb);
138 138
139 skb->protocol = eth_type_trans(skb,dev); 139 skb->protocol = eth_type_trans(skb,dev);
140 skb->dev = dev;
141#ifndef LOOPBACK_MUST_CHECKSUM 140#ifndef LOOPBACK_MUST_CHECKSUM
142 skb->ip_summed = CHECKSUM_UNNECESSARY; 141 skb->ip_summed = CHECKSUM_UNNECESSARY;
143#endif 142#endif
diff --git a/drivers/net/lp486e.c b/drivers/net/lp486e.c
index 177c502f738..5fc18da1873 100644
--- a/drivers/net/lp486e.c
+++ b/drivers/net/lp486e.c
@@ -676,7 +676,6 @@ i596_rx_one(struct net_device *dev, struct i596_private *lp,
676 return 1; 676 return 1;
677 } 677 }
678 678
679 skb->dev = dev;
680 memcpy(skb_put(skb,pkt_len), rfd->data, pkt_len); 679 memcpy(skb_put(skb,pkt_len), rfd->data, pkt_len);
681 680
682 skb->protocol = eth_type_trans(skb,dev); 681 skb->protocol = eth_type_trans(skb,dev);
diff --git a/drivers/net/mac89x0.c b/drivers/net/mac89x0.c
index e960138011c..90e695d5326 100644
--- a/drivers/net/mac89x0.c
+++ b/drivers/net/mac89x0.c
@@ -530,7 +530,6 @@ net_rx(struct net_device *dev)
530 return; 530 return;
531 } 531 }
532 skb_put(skb, length); 532 skb_put(skb, length);
533 skb->dev = dev;
534 533
535 memcpy_fromio(skb->data, dev->mem_start + PP_RxFrame, length); 534 memcpy_fromio(skb->data, dev->mem_start + PP_RxFrame, length);
536 535
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index 2e9571bf073..0c3649be0d0 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -357,7 +357,6 @@ static int macb_rx_frame(struct macb *bp, unsigned int first_frag,
357 } 357 }
358 358
359 skb_reserve(skb, RX_OFFSET); 359 skb_reserve(skb, RX_OFFSET);
360 skb->dev = bp->dev;
361 skb->ip_summed = CHECKSUM_NONE; 360 skb->ip_summed = CHECKSUM_NONE;
362 skb_put(skb, len); 361 skb_put(skb, len);
363 362
diff --git a/drivers/net/mace.c b/drivers/net/mace.c
index 9ec24f0d5d6..b3bd6239495 100644
--- a/drivers/net/mace.c
+++ b/drivers/net/mace.c
@@ -939,7 +939,6 @@ static irqreturn_t mace_rxdma_intr(int irq, void *dev_id)
939 else /* Ethernet header; mace includes FCS */ 939 else /* Ethernet header; mace includes FCS */
940 nb -= 8; 940 nb -= 8;
941 skb_put(skb, nb); 941 skb_put(skb, nb);
942 skb->dev = dev;
943 skb->protocol = eth_type_trans(skb, dev); 942 skb->protocol = eth_type_trans(skb, dev);
944 mp->stats.rx_bytes += skb->len; 943 mp->stats.rx_bytes += skb->len;
945 netif_rx(skb); 944 netif_rx(skb);
diff --git a/drivers/net/macmace.c b/drivers/net/macmace.c
index 5d541e87304..8c07ffc9c24 100644
--- a/drivers/net/macmace.c
+++ b/drivers/net/macmace.c
@@ -621,7 +621,6 @@ static void mace_dma_rx_frame(struct net_device *dev, struct mace_frame *mf)
621 skb_reserve(skb,2); 621 skb_reserve(skb,2);
622 memcpy(skb_put(skb, mf->len), mf->data, mf->len); 622 memcpy(skb_put(skb, mf->len), mf->data, mf->len);
623 623
624 skb->dev = dev;
625 skb->protocol = eth_type_trans(skb, dev); 624 skb->protocol = eth_type_trans(skb, dev);
626 netif_rx(skb); 625 netif_rx(skb);
627 dev->last_rx = jiffies; 626 dev->last_rx = jiffies;
diff --git a/drivers/net/meth.c b/drivers/net/meth.c
index 7e69ca6edd9..fafe6783523 100644
--- a/drivers/net/meth.c
+++ b/drivers/net/meth.c
@@ -421,7 +421,6 @@ static void meth_rx(struct net_device* dev, unsigned long int_status)
421 /* Write metadata, and then pass to the receive level */ 421 /* Write metadata, and then pass to the receive level */
422 skb_put(skb_c, len); 422 skb_put(skb_c, len);
423 priv->rx_skbs[priv->rx_write] = skb; 423 priv->rx_skbs[priv->rx_write] = skb;
424 skb_c->dev = dev;
425 skb_c->protocol = eth_type_trans(skb_c, dev); 424 skb_c->protocol = eth_type_trans(skb_c, dev);
426 dev->last_rx = jiffies; 425 dev->last_rx = jiffies;
427 priv->stats.rx_packets++; 426 priv->stats.rx_packets++;
diff --git a/drivers/net/mipsnet.c b/drivers/net/mipsnet.c
index f42b9e20193..403f63afd20 100644
--- a/drivers/net/mipsnet.c
+++ b/drivers/net/mipsnet.c
@@ -101,7 +101,6 @@ static inline ssize_t mipsnet_get_fromdev(struct net_device *dev, size_t count)
101 if (ioiocpy_frommipsnet(dev, skb_put(skb, len), len)) 101 if (ioiocpy_frommipsnet(dev, skb_put(skb, len), len))
102 return -EFAULT; 102 return -EFAULT;
103 103
104 skb->dev = dev;
105 skb->protocol = eth_type_trans(skb, dev); 104 skb->protocol = eth_type_trans(skb, dev);
106 skb->ip_summed = CHECKSUM_UNNECESSARY; 105 skb->ip_summed = CHECKSUM_UNNECESSARY;
107 106
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c
index 8015a7c5b0c..cd9369a285e 100644
--- a/drivers/net/mv643xx_eth.c
+++ b/drivers/net/mv643xx_eth.c
@@ -434,7 +434,6 @@ static int mv643xx_eth_receive_queue(struct net_device *dev, int budget)
434 * received packet 434 * received packet
435 */ 435 */
436 skb_put(skb, pkt_info.byte_cnt - 4); 436 skb_put(skb, pkt_info.byte_cnt - 4);
437 skb->dev = dev;
438 437
439 if (pkt_info.cmd_sts & ETH_LAYER_4_CHECKSUM_OK) { 438 if (pkt_info.cmd_sts & ETH_LAYER_4_CHECKSUM_OK) {
440 skb->ip_summed = CHECKSUM_UNNECESSARY; 439 skb->ip_summed = CHECKSUM_UNNECESSARY;
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index f8efe0e70a6..7c04179c7b1 100644
--- a/drivers/net/myri10ge/myri10ge.c
+++ b/drivers/net/myri10ge/myri10ge.c
@@ -1020,7 +1020,6 @@ myri10ge_rx_done(struct myri10ge_priv *mgp, struct myri10ge_rx_buf *rx,
1020 skb_shinfo(skb)->nr_frags = 0; 1020 skb_shinfo(skb)->nr_frags = 0;
1021 } 1021 }
1022 skb->protocol = eth_type_trans(skb, dev); 1022 skb->protocol = eth_type_trans(skb, dev);
1023 skb->dev = dev;
1024 1023
1025 if (mgp->csum_flag) { 1024 if (mgp->csum_flag) {
1026 if ((skb->protocol == htons(ETH_P_IP)) || 1025 if ((skb->protocol == htons(ETH_P_IP)) ||
diff --git a/drivers/net/natsemi.c b/drivers/net/natsemi.c
index 349b96a3ec4..a8d7ff2c96a 100644
--- a/drivers/net/natsemi.c
+++ b/drivers/net/natsemi.c
@@ -2289,7 +2289,6 @@ static void netdev_rx(struct net_device *dev, int *work_done, int work_to_do)
2289 * without copying to a minimally-sized skbuff. */ 2289 * without copying to a minimally-sized skbuff. */
2290 if (pkt_len < rx_copybreak 2290 if (pkt_len < rx_copybreak
2291 && (skb = dev_alloc_skb(pkt_len + RX_OFFSET)) != NULL) { 2291 && (skb = dev_alloc_skb(pkt_len + RX_OFFSET)) != NULL) {
2292 skb->dev = dev;
2293 /* 16 byte align the IP header */ 2292 /* 16 byte align the IP header */
2294 skb_reserve(skb, RX_OFFSET); 2293 skb_reserve(skb, RX_OFFSET);
2295 pci_dma_sync_single_for_cpu(np->pci_dev, 2294 pci_dma_sync_single_for_cpu(np->pci_dev,
diff --git a/drivers/net/netx-eth.c b/drivers/net/netx-eth.c
index a53644f6a29..2b8da0a5499 100644
--- a/drivers/net/netx-eth.c
+++ b/drivers/net/netx-eth.c
@@ -168,7 +168,6 @@ static void netx_eth_receive(struct net_device *ndev)
168 FIFO_PTR_SEGMENT(seg) | FIFO_PTR_FRAMENO(frameno)); 168 FIFO_PTR_SEGMENT(seg) | FIFO_PTR_FRAMENO(frameno));
169 169
170 ndev->last_rx = jiffies; 170 ndev->last_rx = jiffies;
171 skb->dev = ndev;
172 skb->protocol = eth_type_trans(skb, ndev); 171 skb->protocol = eth_type_trans(skb, ndev);
173 netif_rx(skb); 172 netif_rx(skb);
174 priv->stats.rx_packets++; 173 priv->stats.rx_packets++;
diff --git a/drivers/net/netxen/netxen_nic_init.c b/drivers/net/netxen/netxen_nic_init.c
index eff965dc5ff..5cd40562da7 100644
--- a/drivers/net/netxen/netxen_nic_init.c
+++ b/drivers/net/netxen/netxen_nic_init.c
@@ -1129,7 +1129,6 @@ netxen_process_rcv(struct netxen_adapter *adapter, int ctxid,
1129 port->stats.csummed++; 1129 port->stats.csummed++;
1130 skb->ip_summed = CHECKSUM_UNNECESSARY; 1130 skb->ip_summed = CHECKSUM_UNNECESSARY;
1131 } 1131 }
1132 skb->dev = netdev;
1133 if (desc_ctx == RCV_DESC_LRO_CTXID) { 1132 if (desc_ctx == RCV_DESC_LRO_CTXID) {
1134 /* True length was only available on the last pkt */ 1133 /* True length was only available on the last pkt */
1135 skb_put(skb, buffer->lro_length); 1134 skb_put(skb, buffer->lro_length);
diff --git a/drivers/net/ni5010.c b/drivers/net/ni5010.c
index 8be0d030d6f..3d5b4232f65 100644
--- a/drivers/net/ni5010.c
+++ b/drivers/net/ni5010.c
@@ -562,7 +562,6 @@ static void ni5010_rx(struct net_device *dev)
562 return; 562 return;
563 } 563 }
564 564
565 skb->dev = dev;
566 skb_reserve(skb, 2); 565 skb_reserve(skb, 2);
567 566
568 /* Read packet into buffer */ 567 /* Read packet into buffer */
diff --git a/drivers/net/ni52.c b/drivers/net/ni52.c
index a6f4b24b017..70b6812a8a7 100644
--- a/drivers/net/ni52.c
+++ b/drivers/net/ni52.c
@@ -934,7 +934,6 @@ static void ni52_rcv_int(struct net_device *dev)
934 skb = (struct sk_buff *) dev_alloc_skb(totlen+2); 934 skb = (struct sk_buff *) dev_alloc_skb(totlen+2);
935 if(skb != NULL) 935 if(skb != NULL)
936 { 936 {
937 skb->dev = dev;
938 skb_reserve(skb,2); 937 skb_reserve(skb,2);
939 skb_put(skb,totlen); 938 skb_put(skb,totlen);
940 eth_copy_and_sum(skb,(char *) p->base+(unsigned long) rbd->buffer,totlen,0); 939 eth_copy_and_sum(skb,(char *) p->base+(unsigned long) rbd->buffer,totlen,0);
diff --git a/drivers/net/ni65.c b/drivers/net/ni65.c
index 1578f4d9849..782201d12c2 100644
--- a/drivers/net/ni65.c
+++ b/drivers/net/ni65.c
@@ -610,7 +610,6 @@ static void *ni65_alloc_mem(struct net_device *dev,char *what,int size,int type)
610 printk(KERN_WARNING "%s: unable to allocate %s memory.\n",dev->name,what); 610 printk(KERN_WARNING "%s: unable to allocate %s memory.\n",dev->name,what);
611 return NULL; 611 return NULL;
612 } 612 }
613 skb->dev = dev;
614 skb_reserve(skb,2+16); 613 skb_reserve(skb,2+16);
615 skb_put(skb,R_BUF_SIZE); /* grab the whole space .. (not necessary) */ 614 skb_put(skb,R_BUF_SIZE); /* grab the whole space .. (not necessary) */
616 ptr = skb->data; 615 ptr = skb->data;
@@ -1094,7 +1093,6 @@ static void ni65_recv_intr(struct net_device *dev,int csr0)
1094 if(skb) 1093 if(skb)
1095 { 1094 {
1096 skb_reserve(skb,2); 1095 skb_reserve(skb,2);
1097 skb->dev = dev;
1098#ifdef RCV_VIA_SKB 1096#ifdef RCV_VIA_SKB
1099 if( (unsigned long) (skb->data + R_BUF_SIZE) > 0x1000000) { 1097 if( (unsigned long) (skb->data + R_BUF_SIZE) > 0x1000000) {
1100 skb_put(skb,len); 1098 skb_put(skb,len);
diff --git a/drivers/net/ns83820.c b/drivers/net/ns83820.c
index 9ec6e9e54f4..747988b12ec 100644
--- a/drivers/net/ns83820.c
+++ b/drivers/net/ns83820.c
@@ -607,7 +607,6 @@ static inline int rx_refill(struct net_device *ndev, gfp_t gfp)
607 res &= 0xf; 607 res &= 0xf;
608 skb_reserve(skb, res); 608 skb_reserve(skb, res);
609 609
610 skb->dev = ndev;
611 if (gfp != GFP_ATOMIC) 610 if (gfp != GFP_ATOMIC)
612 spin_lock_irqsave(&dev->rx_info.lock, flags); 611 spin_lock_irqsave(&dev->rx_info.lock, flags);
613 res = ns83820_add_rx_skb(dev, skb); 612 res = ns83820_add_rx_skb(dev, skb);
diff --git a/drivers/net/pasemi_mac.c b/drivers/net/pasemi_mac.c
index d670ac74824..3f4213f3d5d 100644
--- a/drivers/net/pasemi_mac.c
+++ b/drivers/net/pasemi_mac.c
@@ -334,8 +334,6 @@ static void pasemi_mac_replenish_rx_ring(struct net_device *dev)
334 break; 334 break;
335 } 335 }
336 336
337 skb->dev = dev;
338
339 dma = pci_map_single(mac->dma_pdev, skb->data, skb->len, 337 dma = pci_map_single(mac->dma_pdev, skb->data, skb->len,
340 PCI_DMA_FROMDEVICE); 338 PCI_DMA_FROMDEVICE);
341 339
diff --git a/drivers/net/pci-skeleton.c b/drivers/net/pci-skeleton.c
index 6ca4e4fa6b8..099972c977e 100644
--- a/drivers/net/pci-skeleton.c
+++ b/drivers/net/pci-skeleton.c
@@ -1565,7 +1565,6 @@ static void netdrv_rx_interrupt (struct net_device *dev,
1565 1565
1566 skb = dev_alloc_skb (pkt_size + 2); 1566 skb = dev_alloc_skb (pkt_size + 2);
1567 if (skb) { 1567 if (skb) {
1568 skb->dev = dev;
1569 skb_reserve (skb, 2); /* 16 byte align the IP fields. */ 1568 skb_reserve (skb, 2); /* 16 byte align the IP fields. */
1570 1569
1571 eth_copy_and_sum (skb, &rx_ring[ring_offset + 4], pkt_size, 0); 1570 eth_copy_and_sum (skb, &rx_ring[ring_offset + 4], pkt_size, 0);
diff --git a/drivers/net/pcmcia/3c574_cs.c b/drivers/net/pcmcia/3c574_cs.c
index c7bd9c1c7f3..2b395ee21f7 100644
--- a/drivers/net/pcmcia/3c574_cs.c
+++ b/drivers/net/pcmcia/3c574_cs.c
@@ -1056,7 +1056,6 @@ static int el3_rx(struct net_device *dev, int worklimit)
1056 DEBUG(3, " Receiving packet size %d status %4.4x.\n", 1056 DEBUG(3, " Receiving packet size %d status %4.4x.\n",
1057 pkt_len, rx_status); 1057 pkt_len, rx_status);
1058 if (skb != NULL) { 1058 if (skb != NULL) {
1059 skb->dev = dev;
1060 skb_reserve(skb, 2); 1059 skb_reserve(skb, 2);
1061 insl(ioaddr+RX_FIFO, skb_put(skb, pkt_len), 1060 insl(ioaddr+RX_FIFO, skb_put(skb, pkt_len),
1062 ((pkt_len+3)>>2)); 1061 ((pkt_len+3)>>2));
diff --git a/drivers/net/pcmcia/3c589_cs.c b/drivers/net/pcmcia/3c589_cs.c
index 461e8274ef6..143ae2ff309 100644
--- a/drivers/net/pcmcia/3c589_cs.c
+++ b/drivers/net/pcmcia/3c589_cs.c
@@ -883,7 +883,6 @@ static int el3_rx(struct net_device *dev)
883 DEBUG(3, " Receiving packet size %d status %4.4x.\n", 883 DEBUG(3, " Receiving packet size %d status %4.4x.\n",
884 pkt_len, rx_status); 884 pkt_len, rx_status);
885 if (skb != NULL) { 885 if (skb != NULL) {
886 skb->dev = dev;
887 skb_reserve(skb, 2); 886 skb_reserve(skb, 2);
888 insl(ioaddr+RX_FIFO, skb_put(skb, pkt_len), 887 insl(ioaddr+RX_FIFO, skb_put(skb, pkt_len),
889 (pkt_len+3)>>2); 888 (pkt_len+3)>>2);
diff --git a/drivers/net/pcmcia/axnet_cs.c b/drivers/net/pcmcia/axnet_cs.c
index 6139048f811..fabbe95c7ef 100644
--- a/drivers/net/pcmcia/axnet_cs.c
+++ b/drivers/net/pcmcia/axnet_cs.c
@@ -1496,7 +1496,6 @@ static void ei_receive(struct net_device *dev)
1496 else 1496 else
1497 { 1497 {
1498 skb_reserve(skb,2); /* IP headers on 16 byte boundaries */ 1498 skb_reserve(skb,2); /* IP headers on 16 byte boundaries */
1499 skb->dev = dev;
1500 skb_put(skb, pkt_len); /* Make room */ 1499 skb_put(skb, pkt_len); /* Make room */
1501 ei_block_input(dev, pkt_len, skb, current_offset + sizeof(rx_frame)); 1500 ei_block_input(dev, pkt_len, skb, current_offset + sizeof(rx_frame));
1502 skb->protocol=eth_type_trans(skb,dev); 1501 skb->protocol=eth_type_trans(skb,dev);
diff --git a/drivers/net/pcmcia/fmvj18x_cs.c b/drivers/net/pcmcia/fmvj18x_cs.c
index 0d7de617e53..3f93d493323 100644
--- a/drivers/net/pcmcia/fmvj18x_cs.c
+++ b/drivers/net/pcmcia/fmvj18x_cs.c
@@ -999,7 +999,6 @@ static void fjn_rx(struct net_device *dev)
999 lp->stats.rx_dropped++; 999 lp->stats.rx_dropped++;
1000 break; 1000 break;
1001 } 1001 }
1002 skb->dev = dev;
1003 1002
1004 skb_reserve(skb, 2); 1003 skb_reserve(skb, 2);
1005 insw(ioaddr + DATAPORT, skb_put(skb, pkt_len), 1004 insw(ioaddr + DATAPORT, skb_put(skb, pkt_len),
diff --git a/drivers/net/pcmcia/nmclan_cs.c b/drivers/net/pcmcia/nmclan_cs.c
index 3b707747a81..ec0af65cd5d 100644
--- a/drivers/net/pcmcia/nmclan_cs.c
+++ b/drivers/net/pcmcia/nmclan_cs.c
@@ -1182,8 +1182,6 @@ static int mace_rx(struct net_device *dev, unsigned char RxCnt)
1182 skb = dev_alloc_skb(pkt_len+2); 1182 skb = dev_alloc_skb(pkt_len+2);
1183 1183
1184 if (skb != NULL) { 1184 if (skb != NULL) {
1185 skb->dev = dev;
1186
1187 skb_reserve(skb, 2); 1185 skb_reserve(skb, 2);
1188 insw(ioaddr + AM2150_RCV, skb_put(skb, pkt_len), pkt_len>>1); 1186 insw(ioaddr + AM2150_RCV, skb_put(skb, pkt_len), pkt_len>>1);
1189 if (pkt_len & 1) 1187 if (pkt_len & 1)
diff --git a/drivers/net/pcmcia/smc91c92_cs.c b/drivers/net/pcmcia/smc91c92_cs.c
index 2561f76033e..7912dbd1425 100644
--- a/drivers/net/pcmcia/smc91c92_cs.c
+++ b/drivers/net/pcmcia/smc91c92_cs.c
@@ -1669,7 +1669,6 @@ static void smc_rx(struct net_device *dev)
1669 (packet_length+1)>>1); 1669 (packet_length+1)>>1);
1670 skb->protocol = eth_type_trans(skb, dev); 1670 skb->protocol = eth_type_trans(skb, dev);
1671 1671
1672 skb->dev = dev;
1673 netif_rx(skb); 1672 netif_rx(skb);
1674 dev->last_rx = jiffies; 1673 dev->last_rx = jiffies;
1675 smc->stats.rx_packets++; 1674 smc->stats.rx_packets++;
diff --git a/drivers/net/pcmcia/xirc2ps_cs.c b/drivers/net/pcmcia/xirc2ps_cs.c
index 5879e7c3698..809ec440b8e 100644
--- a/drivers/net/pcmcia/xirc2ps_cs.c
+++ b/drivers/net/pcmcia/xirc2ps_cs.c
@@ -1226,7 +1226,6 @@ xirc2ps_interrupt(int irq, void *dev_id)
1226 (pktlen+1)>>1); 1226 (pktlen+1)>>1);
1227 } 1227 }
1228 skb->protocol = eth_type_trans(skb, dev); 1228 skb->protocol = eth_type_trans(skb, dev);
1229 skb->dev = dev;
1230 netif_rx(skb); 1229 netif_rx(skb);
1231 dev->last_rx = jiffies; 1230 dev->last_rx = jiffies;
1232 lp->stats.rx_packets++; 1231 lp->stats.rx_packets++;
diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c
index 4d94ba7899b..0791360a6a6 100644
--- a/drivers/net/pcnet32.c
+++ b/drivers/net/pcnet32.c
@@ -1206,7 +1206,6 @@ static void pcnet32_rx_entry(struct net_device *dev,
1206 PCI_DMA_FROMDEVICE); 1206 PCI_DMA_FROMDEVICE);
1207 skb_put(skb, pkt_len); 1207 skb_put(skb, pkt_len);
1208 lp->rx_skbuff[entry] = newskb; 1208 lp->rx_skbuff[entry] = newskb;
1209 newskb->dev = dev;
1210 lp->rx_dma_addr[entry] = 1209 lp->rx_dma_addr[entry] =
1211 pci_map_single(lp->pci_dev, 1210 pci_map_single(lp->pci_dev,
1212 newskb->data, 1211 newskb->data,
diff --git a/drivers/net/qla3xxx.c b/drivers/net/qla3xxx.c
index a8246eb2f8d..40d2639eedc 100755
--- a/drivers/net/qla3xxx.c
+++ b/drivers/net/qla3xxx.c
@@ -1873,7 +1873,6 @@ static void ql_process_mac_rx_intr(struct ql3_adapter *qdev,
1873 pci_unmap_len(lrg_buf_cb2, maplen), 1873 pci_unmap_len(lrg_buf_cb2, maplen),
1874 PCI_DMA_FROMDEVICE); 1874 PCI_DMA_FROMDEVICE);
1875 prefetch(skb->data); 1875 prefetch(skb->data);
1876 skb->dev = qdev->ndev;
1877 skb->ip_summed = CHECKSUM_NONE; 1876 skb->ip_summed = CHECKSUM_NONE;
1878 skb->protocol = eth_type_trans(skb, qdev->ndev); 1877 skb->protocol = eth_type_trans(skb, qdev->ndev);
1879 1878
@@ -1946,7 +1945,6 @@ static void ql_process_macip_rx_intr(struct ql3_adapter *qdev,
1946 skb2->ip_summed = CHECKSUM_UNNECESSARY; 1945 skb2->ip_summed = CHECKSUM_UNNECESSARY;
1947 } 1946 }
1948 } 1947 }
1949 skb2->dev = qdev->ndev;
1950 skb2->protocol = eth_type_trans(skb2, qdev->ndev); 1948 skb2->protocol = eth_type_trans(skb2, qdev->ndev);
1951 1949
1952 netif_receive_skb(skb2); 1950 netif_receive_skb(skb2);
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index 6a77b8a9224..34280f94e9f 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -2586,7 +2586,6 @@ rtl8169_rx_interrupt(struct net_device *dev, struct rtl8169_private *tp,
2586 pci_action(tp->pci_dev, le64_to_cpu(desc->addr), 2586 pci_action(tp->pci_dev, le64_to_cpu(desc->addr),
2587 tp->rx_buf_sz, PCI_DMA_FROMDEVICE); 2587 tp->rx_buf_sz, PCI_DMA_FROMDEVICE);
2588 2588
2589 skb->dev = dev;
2590 skb_put(skb, pkt_size); 2589 skb_put(skb, pkt_size);
2591 skb->protocol = eth_type_trans(skb, dev); 2590 skb->protocol = eth_type_trans(skb, dev);
2592 2591
diff --git a/drivers/net/rionet.c b/drivers/net/rionet.c
index b7ff484af3e..df6b73872fd 100644
--- a/drivers/net/rionet.c
+++ b/drivers/net/rionet.c
@@ -115,7 +115,6 @@ static int rionet_rx_clean(struct net_device *ndev)
115 115
116 rnet->rx_skb[i]->data = data; 116 rnet->rx_skb[i]->data = data;
117 skb_put(rnet->rx_skb[i], RIO_MAX_MSG_SIZE); 117 skb_put(rnet->rx_skb[i], RIO_MAX_MSG_SIZE);
118 rnet->rx_skb[i]->dev = ndev;
119 rnet->rx_skb[i]->protocol = 118 rnet->rx_skb[i]->protocol =
120 eth_type_trans(rnet->rx_skb[i], ndev); 119 eth_type_trans(rnet->rx_skb[i], ndev);
121 error = netif_rx(rnet->rx_skb[i]); 120 error = netif_rx(rnet->rx_skb[i]);
diff --git a/drivers/net/saa9730.c b/drivers/net/saa9730.c
index 143958f1ef0..ad94358ece8 100644
--- a/drivers/net/saa9730.c
+++ b/drivers/net/saa9730.c
@@ -688,7 +688,6 @@ static int lan_saa9730_rx(struct net_device *dev)
688 } else { 688 } else {
689 lp->stats.rx_bytes += len; 689 lp->stats.rx_bytes += len;
690 lp->stats.rx_packets++; 690 lp->stats.rx_packets++;
691 skb->dev = dev;
692 skb_reserve(skb, 2); /* 16 byte align */ 691 skb_reserve(skb, 2); /* 16 byte align */
693 skb_put(skb, len); /* make room */ 692 skb_put(skb, len); /* make room */
694 eth_copy_and_sum(skb, 693 eth_copy_and_sum(skb,
diff --git a/drivers/net/sb1250-mac.c b/drivers/net/sb1250-mac.c
index 103c3174ab5..0a3a379b634 100644
--- a/drivers/net/sb1250-mac.c
+++ b/drivers/net/sb1250-mac.c
@@ -933,9 +933,6 @@ static int sbdma_add_rcvbuffer(sbmacdma_t *d,struct sk_buff *sb)
933 } 933 }
934 934
935 sbdma_align_skb(sb_new, SMP_CACHE_BYTES, ETHER_ALIGN); 935 sbdma_align_skb(sb_new, SMP_CACHE_BYTES, ETHER_ALIGN);
936
937 /* mark skbuff owned by our device */
938 sb_new->dev = d->sbdma_eth->sbm_dev;
939 } 936 }
940 else { 937 else {
941 sb_new = sb; 938 sb_new = sb;
diff --git a/drivers/net/sc92031.c b/drivers/net/sc92031.c
index c32c21af3fd..5b7284c955d 100644
--- a/drivers/net/sc92031.c
+++ b/drivers/net/sc92031.c
@@ -814,7 +814,6 @@ static void _sc92031_rx_tasklet(struct net_device *dev)
814 memcpy(skb_put(skb, pkt_size), rx_ring + rx_ring_offset, pkt_size); 814 memcpy(skb_put(skb, pkt_size), rx_ring + rx_ring_offset, pkt_size);
815 } 815 }
816 816
817 skb->dev = dev;
818 skb->protocol = eth_type_trans(skb, dev); 817 skb->protocol = eth_type_trans(skb, dev);
819 dev->last_rx = jiffies; 818 dev->last_rx = jiffies;
820 netif_rx(skb); 819 netif_rx(skb);
diff --git a/drivers/net/seeq8005.c b/drivers/net/seeq8005.c
index 0d6c95c7aed..4bce7c4f373 100644
--- a/drivers/net/seeq8005.c
+++ b/drivers/net/seeq8005.c
@@ -550,7 +550,6 @@ static void seeq8005_rx(struct net_device *dev)
550 lp->stats.rx_dropped++; 550 lp->stats.rx_dropped++;
551 break; 551 break;
552 } 552 }
553 skb->dev = dev;
554 skb_reserve(skb, 2); /* align data on 16 byte */ 553 skb_reserve(skb, 2); /* align data on 16 byte */
555 buf = skb_put(skb,pkt_len); 554 buf = skb_put(skb,pkt_len);
556 555
diff --git a/drivers/net/sgiseeq.c b/drivers/net/sgiseeq.c
index 52ed522a234..5a891913218 100644
--- a/drivers/net/sgiseeq.c
+++ b/drivers/net/sgiseeq.c
@@ -318,7 +318,6 @@ static inline void sgiseeq_rx(struct net_device *dev, struct sgiseeq_private *sp
318 skb = dev_alloc_skb(len + 2); 318 skb = dev_alloc_skb(len + 2);
319 319
320 if (skb) { 320 if (skb) {
321 skb->dev = dev;
322 skb_reserve(skb, 2); 321 skb_reserve(skb, 2);
323 skb_put(skb, len); 322 skb_put(skb, len);
324 323
diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c
index 34463ce6f13..bc8de48da31 100644
--- a/drivers/net/sis190.c
+++ b/drivers/net/sis190.c
@@ -632,7 +632,6 @@ static int sis190_rx_interrupt(struct net_device *dev,
632 pci_action(tp->pci_dev, le32_to_cpu(desc->addr), 632 pci_action(tp->pci_dev, le32_to_cpu(desc->addr),
633 tp->rx_buf_sz, PCI_DMA_FROMDEVICE); 633 tp->rx_buf_sz, PCI_DMA_FROMDEVICE);
634 634
635 skb->dev = dev;
636 skb_put(skb, pkt_size); 635 skb_put(skb, pkt_size);
637 skb->protocol = eth_type_trans(skb, dev); 636 skb->protocol = eth_type_trans(skb, dev);
638 637
diff --git a/drivers/net/sis900.c b/drivers/net/sis900.c
index b2a3b19d773..dea0126723d 100644
--- a/drivers/net/sis900.c
+++ b/drivers/net/sis900.c
@@ -1160,7 +1160,6 @@ sis900_init_rx_ring(struct net_device *net_dev)
1160 buffer */ 1160 buffer */
1161 break; 1161 break;
1162 } 1162 }
1163 skb->dev = net_dev;
1164 sis_priv->rx_skbuff[i] = skb; 1163 sis_priv->rx_skbuff[i] = skb;
1165 sis_priv->rx_ring[i].cmdsts = RX_BUF_SIZE; 1164 sis_priv->rx_ring[i].cmdsts = RX_BUF_SIZE;
1166 sis_priv->rx_ring[i].bufptr = pci_map_single(sis_priv->pci_dev, 1165 sis_priv->rx_ring[i].bufptr = pci_map_single(sis_priv->pci_dev,
@@ -1800,7 +1799,6 @@ static int sis900_rx(struct net_device *net_dev)
1800 sis_priv->stats.rx_packets++; 1799 sis_priv->stats.rx_packets++;
1801 sis_priv->dirty_rx++; 1800 sis_priv->dirty_rx++;
1802refill_rx_ring: 1801refill_rx_ring:
1803 skb->dev = net_dev;
1804 sis_priv->rx_skbuff[entry] = skb; 1802 sis_priv->rx_skbuff[entry] = skb;
1805 sis_priv->rx_ring[entry].cmdsts = RX_BUF_SIZE; 1803 sis_priv->rx_ring[entry].cmdsts = RX_BUF_SIZE;
1806 sis_priv->rx_ring[entry].bufptr = 1804 sis_priv->rx_ring[entry].bufptr =
@@ -1832,7 +1830,6 @@ refill_rx_ring:
1832 sis_priv->stats.rx_dropped++; 1830 sis_priv->stats.rx_dropped++;
1833 break; 1831 break;
1834 } 1832 }
1835 skb->dev = net_dev;
1836 sis_priv->rx_skbuff[entry] = skb; 1833 sis_priv->rx_skbuff[entry] = skb;
1837 sis_priv->rx_ring[entry].cmdsts = RX_BUF_SIZE; 1834 sis_priv->rx_ring[entry].cmdsts = RX_BUF_SIZE;
1838 sis_priv->rx_ring[entry].bufptr = 1835 sis_priv->rx_ring[entry].bufptr =
diff --git a/drivers/net/sk98lin/skge.c b/drivers/net/sk98lin/skge.c
index e94ab256b54..9ac1fe659dc 100644
--- a/drivers/net/sk98lin/skge.c
+++ b/drivers/net/sk98lin/skge.c
@@ -2193,7 +2193,6 @@ rx_start:
2193 SK_PNMI_CNT_RX_OCTETS_DELIVERED(pAC, 2193 SK_PNMI_CNT_RX_OCTETS_DELIVERED(pAC,
2194 FrameLength, pRxPort->PortIndex); 2194 FrameLength, pRxPort->PortIndex);
2195 2195
2196 pMsg->dev = pAC->dev[pRxPort->PortIndex];
2197 pMsg->protocol = eth_type_trans(pMsg, 2196 pMsg->protocol = eth_type_trans(pMsg,
2198 pAC->dev[pRxPort->PortIndex]); 2197 pAC->dev[pRxPort->PortIndex]);
2199 netif_rx(pMsg); 2198 netif_rx(pMsg);
@@ -2246,7 +2245,6 @@ rx_start:
2246 (IFF_PROMISC | IFF_ALLMULTI)) != 0 || 2245 (IFF_PROMISC | IFF_ALLMULTI)) != 0 ||
2247 (ForRlmt & SK_RLMT_RX_PROTOCOL) == 2246 (ForRlmt & SK_RLMT_RX_PROTOCOL) ==
2248 SK_RLMT_RX_PROTOCOL) { 2247 SK_RLMT_RX_PROTOCOL) {
2249 pMsg->dev = pAC->dev[pRxPort->PortIndex];
2250 pMsg->protocol = eth_type_trans(pMsg, 2248 pMsg->protocol = eth_type_trans(pMsg,
2251 pAC->dev[pRxPort->PortIndex]); 2249 pAC->dev[pRxPort->PortIndex]);
2252 netif_rx(pMsg); 2250 netif_rx(pMsg);
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index c9561413198..8a2109a913b 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -502,7 +502,6 @@ static inline void smc911x_rcv(struct net_device *dev)
502 DBG(SMC_DEBUG_PKTS, "%s: Received packet\n", dev->name,); 502 DBG(SMC_DEBUG_PKTS, "%s: Received packet\n", dev->name,);
503 PRINT_PKT(data, ((pkt_len - 4) <= 64) ? pkt_len - 4 : 64); 503 PRINT_PKT(data, ((pkt_len - 4) <= 64) ? pkt_len - 4 : 64);
504 dev->last_rx = jiffies; 504 dev->last_rx = jiffies;
505 skb->dev = dev;
506 skb->protocol = eth_type_trans(skb, dev); 505 skb->protocol = eth_type_trans(skb, dev);
507 netif_rx(skb); 506 netif_rx(skb);
508 lp->stats.rx_packets++; 507 lp->stats.rx_packets++;
@@ -1307,7 +1306,6 @@ smc911x_rx_dma_irq(int dma, void *data)
1307 lp->current_rx_skb = NULL; 1306 lp->current_rx_skb = NULL;
1308 PRINT_PKT(skb->data, skb->len); 1307 PRINT_PKT(skb->data, skb->len);
1309 dev->last_rx = jiffies; 1308 dev->last_rx = jiffies;
1310 skb->dev = dev;
1311 skb->protocol = eth_type_trans(skb, dev); 1309 skb->protocol = eth_type_trans(skb, dev);
1312 netif_rx(skb); 1310 netif_rx(skb);
1313 lp->stats.rx_packets++; 1311 lp->stats.rx_packets++;
diff --git a/drivers/net/smc9194.c b/drivers/net/smc9194.c
index bd6e84506c2..36c1ebadbf2 100644
--- a/drivers/net/smc9194.c
+++ b/drivers/net/smc9194.c
@@ -1262,7 +1262,6 @@ static void smc_rcv(struct net_device *dev)
1262 1262
1263 skb_reserve( skb, 2 ); /* 16 bit alignment */ 1263 skb_reserve( skb, 2 ); /* 16 bit alignment */
1264 1264
1265 skb->dev = dev;
1266 data = skb_put( skb, packet_length); 1265 data = skb_put( skb, packet_length);
1267 1266
1268#ifdef USE_32_BIT 1267#ifdef USE_32_BIT
diff --git a/drivers/net/smc91x.c b/drivers/net/smc91x.c
index 49f4b7712eb..01cc3c742c3 100644
--- a/drivers/net/smc91x.c
+++ b/drivers/net/smc91x.c
@@ -568,7 +568,6 @@ static inline void smc_rcv(struct net_device *dev)
568 PRINT_PKT(data, packet_len - 4); 568 PRINT_PKT(data, packet_len - 4);
569 569
570 dev->last_rx = jiffies; 570 dev->last_rx = jiffies;
571 skb->dev = dev;
572 skb->protocol = eth_type_trans(skb, dev); 571 skb->protocol = eth_type_trans(skb, dev);
573 netif_rx(skb); 572 netif_rx(skb);
574 lp->stats.rx_packets++; 573 lp->stats.rx_packets++;
diff --git a/drivers/net/sonic.c b/drivers/net/sonic.c
index ed7aa0a5acc..c6320c71993 100644
--- a/drivers/net/sonic.c
+++ b/drivers/net/sonic.c
@@ -85,7 +85,6 @@ static int sonic_open(struct net_device *dev)
85 dev->name); 85 dev->name);
86 return -ENOMEM; 86 return -ENOMEM;
87 } 87 }
88 skb->dev = dev;
89 /* align IP header unless DMA requires otherwise */ 88 /* align IP header unless DMA requires otherwise */
90 if (SONIC_BUS_SCALE(lp->dma_bitmode) == 2) 89 if (SONIC_BUS_SCALE(lp->dma_bitmode) == 2)
91 skb_reserve(skb, 2); 90 skb_reserve(skb, 2);
@@ -451,7 +450,6 @@ static void sonic_rx(struct net_device *dev)
451 lp->stats.rx_dropped++; 450 lp->stats.rx_dropped++;
452 break; 451 break;
453 } 452 }
454 new_skb->dev = dev;
455 /* provide 16 byte IP header alignment unless DMA requires otherwise */ 453 /* provide 16 byte IP header alignment unless DMA requires otherwise */
456 if(SONIC_BUS_SCALE(lp->dma_bitmode) == 2) 454 if(SONIC_BUS_SCALE(lp->dma_bitmode) == 2)
457 skb_reserve(new_skb, 2); 455 skb_reserve(new_skb, 2);
diff --git a/drivers/net/spider_net.c b/drivers/net/spider_net.c
index e3019d52c30..f7e0ac7f789 100644
--- a/drivers/net/spider_net.c
+++ b/drivers/net/spider_net.c
@@ -990,7 +990,6 @@ spider_net_pass_skb_up(struct spider_net_descr *descr,
990 netdev = card->netdev; 990 netdev = card->netdev;
991 991
992 skb = descr->skb; 992 skb = descr->skb;
993 skb->dev = netdev;
994 skb_put(skb, hwdescr->valid_size); 993 skb_put(skb, hwdescr->valid_size);
995 994
996 /* the card seems to add 2 bytes of junk in front 995 /* the card seems to add 2 bytes of junk in front
diff --git a/drivers/net/starfire.c b/drivers/net/starfire.c
index 8bba2e3da7e..9d6e454a8f9 100644
--- a/drivers/net/starfire.c
+++ b/drivers/net/starfire.c
@@ -1452,7 +1452,6 @@ static int __netdev_rx(struct net_device *dev, int *quota)
1452 to a minimally-sized skbuff. */ 1452 to a minimally-sized skbuff. */
1453 if (pkt_len < rx_copybreak 1453 if (pkt_len < rx_copybreak
1454 && (skb = dev_alloc_skb(pkt_len + 2)) != NULL) { 1454 && (skb = dev_alloc_skb(pkt_len + 2)) != NULL) {
1455 skb->dev = dev;
1456 skb_reserve(skb, 2); /* 16 byte align the IP header */ 1455 skb_reserve(skb, 2); /* 16 byte align the IP header */
1457 pci_dma_sync_single_for_cpu(np->pci_dev, 1456 pci_dma_sync_single_for_cpu(np->pci_dev,
1458 np->rx_info[entry].mapping, 1457 np->rx_info[entry].mapping,
diff --git a/drivers/net/sun3_82586.c b/drivers/net/sun3_82586.c
index 4757aa647c7..5bcc749bef1 100644
--- a/drivers/net/sun3_82586.c
+++ b/drivers/net/sun3_82586.c
@@ -775,7 +775,6 @@ static void sun3_82586_rcv_int(struct net_device *dev)
775 skb = (struct sk_buff *) dev_alloc_skb(totlen+2); 775 skb = (struct sk_buff *) dev_alloc_skb(totlen+2);
776 if(skb != NULL) 776 if(skb != NULL)
777 { 777 {
778 skb->dev = dev;
779 skb_reserve(skb,2); 778 skb_reserve(skb,2);
780 skb_put(skb,totlen); 779 skb_put(skb,totlen);
781 eth_copy_and_sum(skb,(char *) p->base+swab32((unsigned long) rbd->buffer),totlen,0); 780 eth_copy_and_sum(skb,(char *) p->base+swab32((unsigned long) rbd->buffer),totlen,0);
diff --git a/drivers/net/sun3lance.c b/drivers/net/sun3lance.c
index 7bee45b42a2..0454827c8c2 100644
--- a/drivers/net/sun3lance.c
+++ b/drivers/net/sun3lance.c
@@ -851,7 +851,6 @@ static int lance_rx( struct net_device *dev )
851 } 851 }
852 852
853 853
854 skb->dev = dev;
855 skb_reserve( skb, 2 ); /* 16 byte align */ 854 skb_reserve( skb, 2 ); /* 16 byte align */
856 skb_put( skb, pkt_len ); /* Make room */ 855 skb_put( skb, pkt_len ); /* Make room */
857// memcpy( skb->data, PKTBUF_ADDR(head), pkt_len ); 856// memcpy( skb->data, PKTBUF_ADDR(head), pkt_len );
diff --git a/drivers/net/sunbmac.c b/drivers/net/sunbmac.c
index 18f88853e1e..2ad8d58dee3 100644
--- a/drivers/net/sunbmac.c
+++ b/drivers/net/sunbmac.c
@@ -855,7 +855,6 @@ static void bigmac_rx(struct bigmac *bp)
855 drops++; 855 drops++;
856 goto drop_it; 856 goto drop_it;
857 } 857 }
858 copy_skb->dev = bp->dev;
859 skb_reserve(copy_skb, 2); 858 skb_reserve(copy_skb, 2);
860 skb_put(copy_skb, len); 859 skb_put(copy_skb, len);
861 sbus_dma_sync_single_for_cpu(bp->bigmac_sdev, 860 sbus_dma_sync_single_for_cpu(bp->bigmac_sdev,
diff --git a/drivers/net/sundance.c b/drivers/net/sundance.c
index c06ecc8002b..f51ba31970a 100644
--- a/drivers/net/sundance.c
+++ b/drivers/net/sundance.c
@@ -1308,7 +1308,6 @@ static void rx_poll(unsigned long data)
1308 to a minimally-sized skbuff. */ 1308 to a minimally-sized skbuff. */
1309 if (pkt_len < rx_copybreak 1309 if (pkt_len < rx_copybreak
1310 && (skb = dev_alloc_skb(pkt_len + 2)) != NULL) { 1310 && (skb = dev_alloc_skb(pkt_len + 2)) != NULL) {
1311 skb->dev = dev;
1312 skb_reserve(skb, 2); /* 16 byte align the IP header */ 1311 skb_reserve(skb, 2); /* 16 byte align the IP header */
1313 pci_dma_sync_single_for_cpu(np->pci_dev, 1312 pci_dma_sync_single_for_cpu(np->pci_dev,
1314 desc->frag[0].addr, 1313 desc->frag[0].addr,
diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c
index 08ea61db46f..db2e1a6b723 100644
--- a/drivers/net/sungem.c
+++ b/drivers/net/sungem.c
@@ -845,7 +845,6 @@ static int gem_rx(struct gem *gp, int work_to_do)
845 goto drop_it; 845 goto drop_it;
846 } 846 }
847 847
848 copy_skb->dev = gp->dev;
849 skb_reserve(copy_skb, 2); 848 skb_reserve(copy_skb, 2);
850 skb_put(copy_skb, len); 849 skb_put(copy_skb, len);
851 pci_dma_sync_single_for_cpu(gp->pdev, dma_addr, len, PCI_DMA_FROMDEVICE); 850 pci_dma_sync_single_for_cpu(gp->pdev, dma_addr, len, PCI_DMA_FROMDEVICE);
diff --git a/drivers/net/sunhme.c b/drivers/net/sunhme.c
index 192bbc91c73..aca592bc032 100644
--- a/drivers/net/sunhme.c
+++ b/drivers/net/sunhme.c
@@ -2058,7 +2058,6 @@ static void happy_meal_rx(struct happy_meal *hp, struct net_device *dev)
2058 goto drop_it; 2058 goto drop_it;
2059 } 2059 }
2060 2060
2061 copy_skb->dev = dev;
2062 skb_reserve(copy_skb, 2); 2061 skb_reserve(copy_skb, 2);
2063 skb_put(copy_skb, len); 2062 skb_put(copy_skb, len);
2064 hme_dma_sync_for_cpu(hp, dma_addr, len, DMA_FROMDEVICE); 2063 hme_dma_sync_for_cpu(hp, dma_addr, len, DMA_FROMDEVICE);
diff --git a/drivers/net/sunlance.c b/drivers/net/sunlance.c
index b0929a457b6..8f53a1ef608 100644
--- a/drivers/net/sunlance.c
+++ b/drivers/net/sunlance.c
@@ -547,7 +547,6 @@ static void lance_rx_dvma(struct net_device *dev)
547 547
548 lp->stats.rx_bytes += len; 548 lp->stats.rx_bytes += len;
549 549
550 skb->dev = dev;
551 skb_reserve(skb, 2); /* 16 byte align */ 550 skb_reserve(skb, 2); /* 16 byte align */
552 skb_put(skb, len); /* make room */ 551 skb_put(skb, len); /* make room */
553 eth_copy_and_sum(skb, 552 eth_copy_and_sum(skb,
@@ -721,7 +720,6 @@ static void lance_rx_pio(struct net_device *dev)
721 720
722 lp->stats.rx_bytes += len; 721 lp->stats.rx_bytes += len;
723 722
724 skb->dev = dev;
725 skb_reserve (skb, 2); /* 16 byte align */ 723 skb_reserve (skb, 2); /* 16 byte align */
726 skb_put(skb, len); /* make room */ 724 skb_put(skb, len); /* make room */
727 lance_piocopy_to_skb(skb, &(ib->rx_buf[entry][0]), len); 725 lance_piocopy_to_skb(skb, &(ib->rx_buf[entry][0]), len);
diff --git a/drivers/net/sunqe.c b/drivers/net/sunqe.c
index f3bad56d476..fbfb98284fd 100644
--- a/drivers/net/sunqe.c
+++ b/drivers/net/sunqe.c
@@ -437,7 +437,6 @@ static void qe_rx(struct sunqe *qep)
437 drops++; 437 drops++;
438 qep->net_stats.rx_dropped++; 438 qep->net_stats.rx_dropped++;
439 } else { 439 } else {
440 skb->dev = qep->dev;
441 skb_reserve(skb, 2); 440 skb_reserve(skb, 2);
442 skb_put(skb, len); 441 skb_put(skb, len);
443 eth_copy_and_sum(skb, (unsigned char *) this_qbuf, 442 eth_copy_and_sum(skb, (unsigned char *) this_qbuf,
diff --git a/drivers/net/tc35815.c b/drivers/net/tc35815.c
index e3a7e3ceab7..d7741e23f8d 100644
--- a/drivers/net/tc35815.c
+++ b/drivers/net/tc35815.c
@@ -1145,7 +1145,6 @@ tc35815_rx(struct net_device *dev)
1145 break; 1145 break;
1146 } 1146 }
1147 skb_reserve(skb, 2); /* 16 bit alignment */ 1147 skb_reserve(skb, 2); /* 16 bit alignment */
1148 skb->dev = dev;
1149 1148
1150 data = skb_put(skb, pkt_len); 1149 data = skb_put(skb, pkt_len);
1151 1150
diff --git a/drivers/net/tlan.c b/drivers/net/tlan.c
index f85f0025112..2ede3f58cf9 100644
--- a/drivers/net/tlan.c
+++ b/drivers/net/tlan.c
@@ -1577,7 +1577,6 @@ u32 TLan_HandleRxEOF( struct net_device *dev, u16 host_int )
1577 printk(KERN_INFO "TLAN: Couldn't allocate memory for received data.\n"); 1577 printk(KERN_INFO "TLAN: Couldn't allocate memory for received data.\n");
1578 else { 1578 else {
1579 head_buffer = priv->rxBuffer + (priv->rxHead * TLAN_MAX_FRAME_SIZE); 1579 head_buffer = priv->rxBuffer + (priv->rxHead * TLAN_MAX_FRAME_SIZE);
1580 skb->dev = dev;
1581 skb_reserve(skb, 2); 1580 skb_reserve(skb, 2);
1582 t = (void *) skb_put(skb, frameSize); 1581 t = (void *) skb_put(skb, frameSize);
1583 1582
@@ -1608,7 +1607,6 @@ u32 TLan_HandleRxEOF( struct net_device *dev, u16 host_int )
1608 skb->protocol = eth_type_trans( skb, dev ); 1607 skb->protocol = eth_type_trans( skb, dev );
1609 netif_rx( skb ); 1608 netif_rx( skb );
1610 1609
1611 new_skb->dev = dev;
1612 skb_reserve( new_skb, 2 ); 1610 skb_reserve( new_skb, 2 );
1613 t = (void *) skb_put( new_skb, TLAN_MAX_FRAME_SIZE ); 1611 t = (void *) skb_put( new_skb, TLAN_MAX_FRAME_SIZE );
1614 head_list->buffer[0].address = pci_map_single(priv->pciDev, new_skb->data, TLAN_MAX_FRAME_SIZE, PCI_DMA_FROMDEVICE); 1612 head_list->buffer[0].address = pci_map_single(priv->pciDev, new_skb->data, TLAN_MAX_FRAME_SIZE, PCI_DMA_FROMDEVICE);
diff --git a/drivers/net/tsi108_eth.c b/drivers/net/tsi108_eth.c
index d92c5c597e1..0bfc2c9c1c0 100644
--- a/drivers/net/tsi108_eth.c
+++ b/drivers/net/tsi108_eth.c
@@ -788,7 +788,6 @@ static int tsi108_complete_rx(struct net_device *dev, int budget)
788 printk(".\n"); 788 printk(".\n");
789 } 789 }
790 790
791 skb->dev = dev;
792 skb_put(skb, data->rxring[rx].len); 791 skb_put(skb, data->rxring[rx].len);
793 skb->protocol = eth_type_trans(skb, dev); 792 skb->protocol = eth_type_trans(skb, dev);
794 netif_receive_skb(skb); 793 netif_receive_skb(skb);
diff --git a/drivers/net/tulip/de2104x.c b/drivers/net/tulip/de2104x.c
index c82befa209a..8a7effa7090 100644
--- a/drivers/net/tulip/de2104x.c
+++ b/drivers/net/tulip/de2104x.c
@@ -435,7 +435,6 @@ static void de_rx (struct de_private *de)
435 rx_work = 100; 435 rx_work = 100;
436 goto rx_next; 436 goto rx_next;
437 } 437 }
438 copy_skb->dev = de->dev;
439 438
440 if (!copying_skb) { 439 if (!copying_skb) {
441 pci_unmap_single(de->pdev, mapping, 440 pci_unmap_single(de->pdev, mapping,
diff --git a/drivers/net/tulip/de4x5.c b/drivers/net/tulip/de4x5.c
index 4b3cd3d8b62..e40ddb86958 100644
--- a/drivers/net/tulip/de4x5.c
+++ b/drivers/net/tulip/de4x5.c
@@ -3634,7 +3634,6 @@ de4x5_alloc_rx_buff(struct net_device *dev, int index, int len)
3634 p = dev_alloc_skb(IEEE802_3_SZ + DE4X5_ALIGN + 2); 3634 p = dev_alloc_skb(IEEE802_3_SZ + DE4X5_ALIGN + 2);
3635 if (!p) return NULL; 3635 if (!p) return NULL;
3636 3636
3637 p->dev = dev;
3638 tmp = virt_to_bus(p->data); 3637 tmp = virt_to_bus(p->data);
3639 i = ((tmp + DE4X5_ALIGN) & ~DE4X5_ALIGN) - tmp; 3638 i = ((tmp + DE4X5_ALIGN) & ~DE4X5_ALIGN) - tmp;
3640 skb_reserve(p, i); 3639 skb_reserve(p, i);
@@ -3655,7 +3654,6 @@ de4x5_alloc_rx_buff(struct net_device *dev, int index, int len)
3655 p = dev_alloc_skb(len + 2); 3654 p = dev_alloc_skb(len + 2);
3656 if (!p) return NULL; 3655 if (!p) return NULL;
3657 3656
3658 p->dev = dev;
3659 skb_reserve(p, 2); /* Align */ 3657 skb_reserve(p, 2); /* Align */
3660 if (index < lp->rx_old) { /* Wrapped buffer */ 3658 if (index < lp->rx_old) { /* Wrapped buffer */
3661 short tlen = (lp->rxRingSize - lp->rx_old) * RX_BUFF_SZ; 3659 short tlen = (lp->rxRingSize - lp->rx_old) * RX_BUFF_SZ;
diff --git a/drivers/net/tulip/dmfe.c b/drivers/net/tulip/dmfe.c
index 9aeac76184f..a5e0237a653 100644
--- a/drivers/net/tulip/dmfe.c
+++ b/drivers/net/tulip/dmfe.c
@@ -988,14 +988,12 @@ static void dmfe_rx_packet(struct DEVICE *dev, struct dmfe_board_info * db)
988 988
989 skb = newskb; 989 skb = newskb;
990 /* size less than COPY_SIZE, allocate a rxlen SKB */ 990 /* size less than COPY_SIZE, allocate a rxlen SKB */
991 skb->dev = dev;
992 skb_reserve(skb, 2); /* 16byte align */ 991 skb_reserve(skb, 2); /* 16byte align */
993 memcpy(skb_put(skb, rxlen), rxptr->rx_skb_ptr->data, rxlen); 992 memcpy(skb_put(skb, rxlen), rxptr->rx_skb_ptr->data, rxlen);
994 dmfe_reuse_skb(db, rxptr->rx_skb_ptr); 993 dmfe_reuse_skb(db, rxptr->rx_skb_ptr);
995 } else { 994 } else
996 skb->dev = dev;
997 skb_put(skb, rxlen); 995 skb_put(skb, rxlen);
998 } 996
999 skb->protocol = eth_type_trans(skb, dev); 997 skb->protocol = eth_type_trans(skb, dev);
1000 netif_rx(skb); 998 netif_rx(skb);
1001 dev->last_rx = jiffies; 999 dev->last_rx = jiffies;
diff --git a/drivers/net/tulip/interrupt.c b/drivers/net/tulip/interrupt.c
index e3488d7b8ed..e86df07769a 100644
--- a/drivers/net/tulip/interrupt.c
+++ b/drivers/net/tulip/interrupt.c
@@ -192,7 +192,6 @@ int tulip_poll(struct net_device *dev, int *budget)
192 to a minimally-sized skbuff. */ 192 to a minimally-sized skbuff. */
193 if (pkt_len < tulip_rx_copybreak 193 if (pkt_len < tulip_rx_copybreak
194 && (skb = dev_alloc_skb(pkt_len + 2)) != NULL) { 194 && (skb = dev_alloc_skb(pkt_len + 2)) != NULL) {
195 skb->dev = dev;
196 skb_reserve(skb, 2); /* 16 byte align the IP header */ 195 skb_reserve(skb, 2); /* 16 byte align the IP header */
197 pci_dma_sync_single_for_cpu(tp->pdev, 196 pci_dma_sync_single_for_cpu(tp->pdev,
198 tp->rx_buffers[entry].mapping, 197 tp->rx_buffers[entry].mapping,
@@ -416,7 +415,6 @@ static int tulip_rx(struct net_device *dev)
416 to a minimally-sized skbuff. */ 415 to a minimally-sized skbuff. */
417 if (pkt_len < tulip_rx_copybreak 416 if (pkt_len < tulip_rx_copybreak
418 && (skb = dev_alloc_skb(pkt_len + 2)) != NULL) { 417 && (skb = dev_alloc_skb(pkt_len + 2)) != NULL) {
419 skb->dev = dev;
420 skb_reserve(skb, 2); /* 16 byte align the IP header */ 418 skb_reserve(skb, 2); /* 16 byte align the IP header */
421 pci_dma_sync_single_for_cpu(tp->pdev, 419 pci_dma_sync_single_for_cpu(tp->pdev,
422 tp->rx_buffers[entry].mapping, 420 tp->rx_buffers[entry].mapping,
diff --git a/drivers/net/tulip/uli526x.c b/drivers/net/tulip/uli526x.c
index 229158e8e4b..9a5850fa644 100644
--- a/drivers/net/tulip/uli526x.c
+++ b/drivers/net/tulip/uli526x.c
@@ -828,14 +828,12 @@ static void uli526x_rx_packet(struct net_device *dev, struct uli526x_board_info
828 ( (skb = dev_alloc_skb(rxlen + 2) ) 828 ( (skb = dev_alloc_skb(rxlen + 2) )
829 != NULL) ) { 829 != NULL) ) {
830 /* size less than COPY_SIZE, allocate a rxlen SKB */ 830 /* size less than COPY_SIZE, allocate a rxlen SKB */
831 skb->dev = dev;
832 skb_reserve(skb, 2); /* 16byte align */ 831 skb_reserve(skb, 2); /* 16byte align */
833 memcpy(skb_put(skb, rxlen), rxptr->rx_skb_ptr->tail, rxlen); 832 memcpy(skb_put(skb, rxlen), rxptr->rx_skb_ptr->tail, rxlen);
834 uli526x_reuse_skb(db, rxptr->rx_skb_ptr); 833 uli526x_reuse_skb(db, rxptr->rx_skb_ptr);
835 } else { 834 } else
836 skb->dev = dev;
837 skb_put(skb, rxlen); 835 skb_put(skb, rxlen);
838 } 836
839 skb->protocol = eth_type_trans(skb, dev); 837 skb->protocol = eth_type_trans(skb, dev);
840 netif_rx(skb); 838 netif_rx(skb);
841 dev->last_rx = jiffies; 839 dev->last_rx = jiffies;
diff --git a/drivers/net/tulip/winbond-840.c b/drivers/net/tulip/winbond-840.c
index 002a05e0722..d74fa871de1 100644
--- a/drivers/net/tulip/winbond-840.c
+++ b/drivers/net/tulip/winbond-840.c
@@ -813,7 +813,6 @@ static void init_rxtx_rings(struct net_device *dev)
813 np->rx_skbuff[i] = skb; 813 np->rx_skbuff[i] = skb;
814 if (skb == NULL) 814 if (skb == NULL)
815 break; 815 break;
816 skb->dev = dev; /* Mark as being used by this device. */
817 np->rx_addr[i] = pci_map_single(np->pci_dev,skb->data, 816 np->rx_addr[i] = pci_map_single(np->pci_dev,skb->data,
818 np->rx_buf_sz,PCI_DMA_FROMDEVICE); 817 np->rx_buf_sz,PCI_DMA_FROMDEVICE);
819 818
@@ -1229,7 +1228,6 @@ static int netdev_rx(struct net_device *dev)
1229 to a minimally-sized skbuff. */ 1228 to a minimally-sized skbuff. */
1230 if (pkt_len < rx_copybreak 1229 if (pkt_len < rx_copybreak
1231 && (skb = dev_alloc_skb(pkt_len + 2)) != NULL) { 1230 && (skb = dev_alloc_skb(pkt_len + 2)) != NULL) {
1232 skb->dev = dev;
1233 skb_reserve(skb, 2); /* 16 byte align the IP header */ 1231 skb_reserve(skb, 2); /* 16 byte align the IP header */
1234 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],
1235 np->rx_skbuff[entry]->len, 1233 np->rx_skbuff[entry]->len,
@@ -1278,7 +1276,6 @@ static int netdev_rx(struct net_device *dev)
1278 np->rx_skbuff[entry] = skb; 1276 np->rx_skbuff[entry] = skb;
1279 if (skb == NULL) 1277 if (skb == NULL)
1280 break; /* Better luck next round. */ 1278 break; /* Better luck next round. */
1281 skb->dev = dev; /* Mark as being used by this device. */
1282 np->rx_addr[entry] = pci_map_single(np->pci_dev, 1279 np->rx_addr[entry] = pci_map_single(np->pci_dev,
1283 skb->data, 1280 skb->data,
1284 np->rx_buf_sz, PCI_DMA_FROMDEVICE); 1281 np->rx_buf_sz, PCI_DMA_FROMDEVICE);
diff --git a/drivers/net/tulip/xircom_cb.c b/drivers/net/tulip/xircom_cb.c
index 61d313049dd..1fe3734e155 100644
--- a/drivers/net/tulip/xircom_cb.c
+++ b/drivers/net/tulip/xircom_cb.c
@@ -1207,7 +1207,6 @@ static void investigate_read_descriptor(struct net_device *dev,struct xircom_pri
1207 card->stats.rx_dropped++; 1207 card->stats.rx_dropped++;
1208 goto out; 1208 goto out;
1209 } 1209 }
1210 skb->dev = dev;
1211 skb_reserve(skb, 2); 1210 skb_reserve(skb, 2);
1212 eth_copy_and_sum(skb, (unsigned char*)&card->rx_buffer[bufferoffset / 4], pkt_len, 0); 1211 eth_copy_and_sum(skb, (unsigned char*)&card->rx_buffer[bufferoffset / 4], pkt_len, 0);
1213 skb_put(skb, pkt_len); 1212 skb_put(skb, pkt_len);
diff --git a/drivers/net/tulip/xircom_tulip_cb.c b/drivers/net/tulip/xircom_tulip_cb.c
index a998c5d0ae9..3f24c82755f 100644
--- a/drivers/net/tulip/xircom_tulip_cb.c
+++ b/drivers/net/tulip/xircom_tulip_cb.c
@@ -1238,7 +1238,6 @@ xircom_rx(struct net_device *dev)
1238 to a minimally-sized skbuff. */ 1238 to a minimally-sized skbuff. */
1239 if (pkt_len < rx_copybreak 1239 if (pkt_len < rx_copybreak
1240 && (skb = dev_alloc_skb(pkt_len + 2)) != NULL) { 1240 && (skb = dev_alloc_skb(pkt_len + 2)) != NULL) {
1241 skb->dev = dev;
1242 skb_reserve(skb, 2); /* 16 byte align the IP header */ 1241 skb_reserve(skb, 2); /* 16 byte align the IP header */
1243#if ! defined(__alpha__) 1242#if ! defined(__alpha__)
1244 eth_copy_and_sum(skb, bus_to_virt(tp->rx_ring[entry].buffer1), 1243 eth_copy_and_sum(skb, bus_to_virt(tp->rx_ring[entry].buffer1),
diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 5643d1e84ed..a57aa010cb2 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -254,11 +254,11 @@ static __inline__ ssize_t tun_get_user(struct tun_struct *tun, struct iovec *iv,
254 return -EFAULT; 254 return -EFAULT;
255 } 255 }
256 256
257 skb->dev = tun->dev;
258 switch (tun->flags & TUN_TYPE_MASK) { 257 switch (tun->flags & TUN_TYPE_MASK) {
259 case TUN_TUN_DEV: 258 case TUN_TUN_DEV:
260 skb->mac.raw = skb->data; 259 skb->mac.raw = skb->data;
261 skb->protocol = pi.proto; 260 skb->protocol = pi.proto;
261 skb->dev = tun->dev;
262 break; 262 break;
263 case TUN_TAP_DEV: 263 case TUN_TAP_DEV:
264 skb->protocol = eth_type_trans(skb, tun->dev); 264 skb->protocol = eth_type_trans(skb, tun->dev);
diff --git a/drivers/net/typhoon.c b/drivers/net/typhoon.c
index 0d91d094edd..f2dd7763cd0 100644
--- a/drivers/net/typhoon.c
+++ b/drivers/net/typhoon.c
@@ -1708,7 +1708,6 @@ typhoon_rx(struct typhoon *tp, struct basic_ring *rxRing, volatile u32 * ready,
1708 1708
1709 if(pkt_len < rx_copybreak && 1709 if(pkt_len < rx_copybreak &&
1710 (new_skb = dev_alloc_skb(pkt_len + 2)) != NULL) { 1710 (new_skb = dev_alloc_skb(pkt_len + 2)) != NULL) {
1711 new_skb->dev = tp->dev;
1712 skb_reserve(new_skb, 2); 1711 skb_reserve(new_skb, 2);
1713 pci_dma_sync_single_for_cpu(tp->pdev, dma_addr, 1712 pci_dma_sync_single_for_cpu(tp->pdev, dma_addr,
1714 PKT_BUF_SZ, 1713 PKT_BUF_SZ,
diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c
index f3a972e74e9..adea290a9d5 100644
--- a/drivers/net/via-rhine.c
+++ b/drivers/net/via-rhine.c
@@ -1486,7 +1486,6 @@ static int rhine_rx(struct net_device *dev, int limit)
1486 copying to a minimally-sized skbuff. */ 1486 copying to a minimally-sized skbuff. */
1487 if (pkt_len < rx_copybreak && 1487 if (pkt_len < rx_copybreak &&
1488 (skb = dev_alloc_skb(pkt_len + 2)) != NULL) { 1488 (skb = dev_alloc_skb(pkt_len + 2)) != NULL) {
1489 skb->dev = dev;
1490 skb_reserve(skb, 2); /* 16 byte align the IP header */ 1489 skb_reserve(skb, 2); /* 16 byte align the IP header */
1491 pci_dma_sync_single_for_cpu(rp->pdev, 1490 pci_dma_sync_single_for_cpu(rp->pdev,
1492 rp->rx_skbuff_dma[entry], 1491 rp->rx_skbuff_dma[entry],
diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c
index 8e5d82051bd..9f6cc1569b3 100644
--- a/drivers/net/via-velocity.c
+++ b/drivers/net/via-velocity.c
@@ -1398,7 +1398,6 @@ static int velocity_receive_frame(struct velocity_info *vptr, int idx)
1398 vptr->stats.multicast++; 1398 vptr->stats.multicast++;
1399 1399
1400 skb = rd_info->skb; 1400 skb = rd_info->skb;
1401 skb->dev = vptr->dev;
1402 1401
1403 pci_dma_sync_single_for_cpu(vptr->pdev, rd_info->skb_dma, 1402 pci_dma_sync_single_for_cpu(vptr->pdev, rd_info->skb_dma,
1404 vptr->rx_buf_sz, PCI_DMA_FROMDEVICE); 1403 vptr->rx_buf_sz, PCI_DMA_FROMDEVICE);
@@ -1428,7 +1427,7 @@ static int velocity_receive_frame(struct velocity_info *vptr, int idx)
1428 PCI_DMA_FROMDEVICE); 1427 PCI_DMA_FROMDEVICE);
1429 1428
1430 skb_put(skb, pkt_len - 4); 1429 skb_put(skb, pkt_len - 4);
1431 skb->protocol = eth_type_trans(skb, skb->dev); 1430 skb->protocol = eth_type_trans(skb, vptr->dev);
1432 1431
1433 stats->rx_bytes += pkt_len; 1432 stats->rx_bytes += pkt_len;
1434 netif_rx(skb); 1433 netif_rx(skb);
diff --git a/drivers/net/wan/hdlc_fr.c b/drivers/net/wan/hdlc_fr.c
index c6c3c757d6f..3240d10fc86 100644
--- a/drivers/net/wan/hdlc_fr.c
+++ b/drivers/net/wan/hdlc_fr.c
@@ -1011,7 +1011,6 @@ static int fr_rx(struct sk_buff *skb)
1011 stats->rx_bytes += skb->len; 1011 stats->rx_bytes += skb->len;
1012 if (pvc->state.becn) 1012 if (pvc->state.becn)
1013 stats->rx_compressed++; 1013 stats->rx_compressed++;
1014 skb->dev = dev;
1015 netif_rx(skb); 1014 netif_rx(skb);
1016 return NET_RX_SUCCESS; 1015 return NET_RX_SUCCESS;
1017 } else { 1016 } else {
diff --git a/drivers/net/wan/sbni.c b/drivers/net/wan/sbni.c
index fc5c0c611ff..35eded7ffb2 100644
--- a/drivers/net/wan/sbni.c
+++ b/drivers/net/wan/sbni.c
@@ -999,11 +999,6 @@ get_rx_buf( struct net_device *dev )
999 if( !skb ) 999 if( !skb )
1000 return NULL; 1000 return NULL;
1001 1001
1002#ifdef CONFIG_SBNI_MULTILINE
1003 skb->dev = ((struct net_local *) dev->priv)->master;
1004#else
1005 skb->dev = dev;
1006#endif
1007 skb_reserve( skb, 2 ); /* Align IP on longword boundaries */ 1002 skb_reserve( skb, 2 ); /* Align IP on longword boundaries */
1008 return skb; 1003 return skb;
1009} 1004}
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
index 2ada76a93cb..e50b1482d79 100644
--- a/drivers/net/wireless/airo.c
+++ b/drivers/net/wireless/airo.c
@@ -3415,10 +3415,8 @@ badrx:
3415 skb->pkt_type = PACKET_OTHERHOST; 3415 skb->pkt_type = PACKET_OTHERHOST;
3416 skb->dev = apriv->wifidev; 3416 skb->dev = apriv->wifidev;
3417 skb->protocol = htons(ETH_P_802_2); 3417 skb->protocol = htons(ETH_P_802_2);
3418 } else { 3418 } else
3419 skb->dev = dev;
3420 skb->protocol = eth_type_trans(skb,dev); 3419 skb->protocol = eth_type_trans(skb,dev);
3421 }
3422 skb->dev->last_rx = jiffies; 3420 skb->dev->last_rx = jiffies;
3423 skb->ip_summed = CHECKSUM_NONE; 3421 skb->ip_summed = CHECKSUM_NONE;
3424 3422
@@ -3641,7 +3639,6 @@ badmic:
3641 } 3639 }
3642#endif /* WIRELESS_SPY */ 3640#endif /* WIRELESS_SPY */
3643 3641
3644 skb->dev = ai->dev;
3645 skb->ip_summed = CHECKSUM_NONE; 3642 skb->ip_summed = CHECKSUM_NONE;
3646 skb->protocol = eth_type_trans(skb, ai->dev); 3643 skb->protocol = eth_type_trans(skb, ai->dev);
3647 skb->dev->last_rx = jiffies; 3644 skb->dev->last_rx = jiffies;
diff --git a/drivers/net/wireless/arlan-main.c b/drivers/net/wireless/arlan-main.c
index 4688e56b69c..498e8486d12 100644
--- a/drivers/net/wireless/arlan-main.c
+++ b/drivers/net/wireless/arlan-main.c
@@ -1500,7 +1500,6 @@ static void arlan_rx_interrupt(struct net_device *dev, u_char rxStatus, u_short
1500 break; 1500 break;
1501 } 1501 }
1502 skb_reserve(skb, 2); 1502 skb_reserve(skb, 2);
1503 skb->dev = dev;
1504 skbtmp = skb_put(skb, pkt_len); 1503 skbtmp = skb_put(skb, pkt_len);
1505 1504
1506 memcpy_fromio(skbtmp + ARLAN_FAKE_HDR_LEN, ((char __iomem *) arlan) + rxOffset, pkt_len - ARLAN_FAKE_HDR_LEN); 1505 memcpy_fromio(skbtmp + ARLAN_FAKE_HDR_LEN, ((char __iomem *) arlan) + rxOffset, pkt_len - ARLAN_FAKE_HDR_LEN);
diff --git a/drivers/net/wireless/atmel.c b/drivers/net/wireless/atmel.c
index 23eba698aec..1c17cbe007b 100644
--- a/drivers/net/wireless/atmel.c
+++ b/drivers/net/wireless/atmel.c
@@ -920,7 +920,6 @@ static void fast_rx_path(struct atmel_private *priv,
920 memcpy(&skbp[6], header->addr2, 6); /* source address */ 920 memcpy(&skbp[6], header->addr2, 6); /* source address */
921 921
922 priv->dev->last_rx = jiffies; 922 priv->dev->last_rx = jiffies;
923 skb->dev = priv->dev;
924 skb->protocol = eth_type_trans(skb, priv->dev); 923 skb->protocol = eth_type_trans(skb, priv->dev);
925 skb->ip_summed = CHECKSUM_NONE; 924 skb->ip_summed = CHECKSUM_NONE;
926 netif_rx(skb); 925 netif_rx(skb);
@@ -1028,7 +1027,6 @@ static void frag_rx_path(struct atmel_private *priv,
1028 priv->rx_buf, 1027 priv->rx_buf,
1029 priv->frag_len + 12); 1028 priv->frag_len + 12);
1030 priv->dev->last_rx = jiffies; 1029 priv->dev->last_rx = jiffies;
1031 skb->dev = priv->dev;
1032 skb->protocol = eth_type_trans(skb, priv->dev); 1030 skb->protocol = eth_type_trans(skb, priv->dev);
1033 skb->ip_summed = CHECKSUM_NONE; 1031 skb->ip_summed = CHECKSUM_NONE;
1034 netif_rx(skb); 1032 netif_rx(skb);
diff --git a/drivers/net/wireless/hostap/hostap_80211_rx.c b/drivers/net/wireless/hostap/hostap_80211_rx.c
index 7e04dc94b3b..f78ee26d787 100644
--- a/drivers/net/wireless/hostap/hostap_80211_rx.c
+++ b/drivers/net/wireless/hostap/hostap_80211_rx.c
@@ -1083,7 +1083,6 @@ void hostap_80211_rx(struct net_device *dev, struct sk_buff *skb,
1083 if (skb) { 1083 if (skb) {
1084 skb->protocol = eth_type_trans(skb, dev); 1084 skb->protocol = eth_type_trans(skb, dev);
1085 memset(skb->cb, 0, sizeof(skb->cb)); 1085 memset(skb->cb, 0, sizeof(skb->cb));
1086 skb->dev = dev;
1087 netif_rx(skb); 1086 netif_rx(skb);
1088 } 1087 }
1089 1088
diff --git a/drivers/net/wireless/netwave_cs.c b/drivers/net/wireless/netwave_cs.c
index a009ab51771..45b00e13ab2 100644
--- a/drivers/net/wireless/netwave_cs.c
+++ b/drivers/net/wireless/netwave_cs.c
@@ -1283,7 +1283,6 @@ static int netwave_rx(struct net_device *dev)
1283 1283
1284 skb_reserve( skb, 2); /* Align IP on 16 byte */ 1284 skb_reserve( skb, 2); /* Align IP on 16 byte */
1285 skb_put( skb, rcvLen); 1285 skb_put( skb, rcvLen);
1286 skb->dev = dev;
1287 1286
1288 /* Copy packet fragments to the skb data area */ 1287 /* Copy packet fragments to the skb data area */
1289 ptr = (u_char*) skb->data; 1288 ptr = (u_char*) skb->data;
diff --git a/drivers/net/wireless/orinoco.c b/drivers/net/wireless/orinoco.c
index 4e7f6cf5143..3f9d78d059b 100644
--- a/drivers/net/wireless/orinoco.c
+++ b/drivers/net/wireless/orinoco.c
@@ -915,7 +915,6 @@ static void __orinoco_ev_rx(struct net_device *dev, hermes_t *hw)
915 memcpy(hdr->h_source, desc.addr2, ETH_ALEN); 915 memcpy(hdr->h_source, desc.addr2, ETH_ALEN);
916 916
917 dev->last_rx = jiffies; 917 dev->last_rx = jiffies;
918 skb->dev = dev;
919 skb->protocol = eth_type_trans(skb, dev); 918 skb->protocol = eth_type_trans(skb, dev);
920 skb->ip_summed = CHECKSUM_NONE; 919 skb->ip_summed = CHECKSUM_NONE;
921 if (fc & IEEE80211_FCTL_TODS) 920 if (fc & IEEE80211_FCTL_TODS)
diff --git a/drivers/net/wireless/prism54/islpci_eth.c b/drivers/net/wireless/prism54/islpci_eth.c
index b1122912ee2..fc2e0f3a896 100644
--- a/drivers/net/wireless/prism54/islpci_eth.c
+++ b/drivers/net/wireless/prism54/islpci_eth.c
@@ -374,10 +374,6 @@ islpci_eth_receive(islpci_private *priv)
374 DEBUG(SHOW_BUFFER_CONTENTS, "\nrx %p ", skb->data); 374 DEBUG(SHOW_BUFFER_CONTENTS, "\nrx %p ", skb->data);
375 display_buffer((char *) skb->data, skb->len); 375 display_buffer((char *) skb->data, skb->len);
376#endif 376#endif
377
378 /* do some additional sk_buff and network layer parameters */
379 skb->dev = ndev;
380
381 /* take care of monitor mode and spy monitoring. */ 377 /* take care of monitor mode and spy monitoring. */
382 if (unlikely(priv->iw_mode == IW_MODE_MONITOR)) 378 if (unlikely(priv->iw_mode == IW_MODE_MONITOR))
383 discard = islpci_monitor_rx(priv, &skb); 379 discard = islpci_monitor_rx(priv, &skb);
diff --git a/drivers/net/wireless/ray_cs.c b/drivers/net/wireless/ray_cs.c
index 47b2ccb6a63..9633b0457f8 100644
--- a/drivers/net/wireless/ray_cs.c
+++ b/drivers/net/wireless/ray_cs.c
@@ -2232,7 +2232,6 @@ static void rx_data(struct net_device *dev, struct rcs __iomem *prcs, unsigned i
2232 return; 2232 return;
2233 } 2233 }
2234 skb_reserve( skb, 2); /* Align IP on 16 byte (TBD check this)*/ 2234 skb_reserve( skb, 2); /* Align IP on 16 byte (TBD check this)*/
2235 skb->dev = dev;
2236 2235
2237 DEBUG(4,"ray_cs rx_data total_len = %x, rx_len = %x\n",total_len,rx_len); 2236 DEBUG(4,"ray_cs rx_data total_len = %x, rx_len = %x\n",total_len,rx_len);
2238 2237
diff --git a/drivers/net/wireless/wavelan.c b/drivers/net/wireless/wavelan.c
index 2aa3c761dd8..69cb1471096 100644
--- a/drivers/net/wireless/wavelan.c
+++ b/drivers/net/wireless/wavelan.c
@@ -2512,8 +2512,6 @@ wv_packet_read(struct net_device * dev, u16 buf_off, int sksize)
2512 return; 2512 return;
2513 } 2513 }
2514 2514
2515 skb->dev = dev;
2516
2517 /* Copy the packet to the buffer. */ 2515 /* Copy the packet to the buffer. */
2518 obram_read(ioaddr, buf_off, skb_put(skb, sksize), sksize); 2516 obram_read(ioaddr, buf_off, skb_put(skb, sksize), sksize);
2519 skb->protocol = eth_type_trans(skb, dev); 2517 skb->protocol = eth_type_trans(skb, dev);
diff --git a/drivers/net/wireless/wavelan_cs.c b/drivers/net/wireless/wavelan_cs.c
index b04239792f6..9351ee77331 100644
--- a/drivers/net/wireless/wavelan_cs.c
+++ b/drivers/net/wireless/wavelan_cs.c
@@ -2884,8 +2884,6 @@ wv_packet_read(struct net_device * dev,
2884 return; 2884 return;
2885 } 2885 }
2886 2886
2887 skb->dev = dev;
2888
2889 skb_reserve(skb, 2); 2887 skb_reserve(skb, 2);
2890 fd_p = read_ringbuf(dev, fd_p, (char *) skb_put(skb, sksize), sksize); 2888 fd_p = read_ringbuf(dev, fd_p, (char *) skb_put(skb, sksize), sksize);
2891 skb->protocol = eth_type_trans(skb, dev); 2889 skb->protocol = eth_type_trans(skb, dev);
diff --git a/drivers/net/wireless/zd1201.c b/drivers/net/wireless/zd1201.c
index 6cb66a356c9..1fe013a7297 100644
--- a/drivers/net/wireless/zd1201.c
+++ b/drivers/net/wireless/zd1201.c
@@ -327,7 +327,6 @@ static void zd1201_usbrx(struct urb *urb)
327 memcpy(skb_put(skb, 6), &data[datalen-8], 6); 327 memcpy(skb_put(skb, 6), &data[datalen-8], 6);
328 memcpy(skb_put(skb, 2), &data[datalen-24], 2); 328 memcpy(skb_put(skb, 2), &data[datalen-24], 2);
329 memcpy(skb_put(skb, len), data, len); 329 memcpy(skb_put(skb, len), data, len);
330 skb->dev = zd->dev;
331 skb->dev->last_rx = jiffies; 330 skb->dev->last_rx = jiffies;
332 skb->protocol = eth_type_trans(skb, zd->dev); 331 skb->protocol = eth_type_trans(skb, zd->dev);
333 zd->stats.rx_packets++; 332 zd->stats.rx_packets++;
@@ -385,7 +384,6 @@ static void zd1201_usbrx(struct urb *urb)
385 memcpy(skb_put(skb, 2), &data[6], 2); 384 memcpy(skb_put(skb, 2), &data[6], 2);
386 memcpy(skb_put(skb, len), data+8, len); 385 memcpy(skb_put(skb, len), data+8, len);
387 } 386 }
388 skb->dev = zd->dev;
389 skb->dev->last_rx = jiffies; 387 skb->dev->last_rx = jiffies;
390 skb->protocol = eth_type_trans(skb, zd->dev); 388 skb->protocol = eth_type_trans(skb, zd->dev);
391 zd->stats.rx_packets++; 389 zd->stats.rx_packets++;
diff --git a/drivers/net/yellowfin.c b/drivers/net/yellowfin.c
index 2412ce4917f..3f4a7cf9efe 100644
--- a/drivers/net/yellowfin.c
+++ b/drivers/net/yellowfin.c
@@ -1137,7 +1137,6 @@ static int yellowfin_rx(struct net_device *dev)
1137 skb = dev_alloc_skb(pkt_len + 2); 1137 skb = dev_alloc_skb(pkt_len + 2);
1138 if (skb == NULL) 1138 if (skb == NULL)
1139 break; 1139 break;
1140 skb->dev = dev;
1141 skb_reserve(skb, 2); /* 16 byte align the IP header */ 1140 skb_reserve(skb, 2); /* 16 byte align the IP header */
1142 eth_copy_and_sum(skb, rx_skb->data, pkt_len, 0); 1141 eth_copy_and_sum(skb, rx_skb->data, pkt_len, 0);
1143 skb_put(skb, pkt_len); 1142 skb_put(skb, pkt_len);
diff --git a/drivers/net/znet.c b/drivers/net/znet.c
index b24b0727108..4032e9f6f9b 100644
--- a/drivers/net/znet.c
+++ b/drivers/net/znet.c
@@ -774,7 +774,6 @@ static void znet_rx(struct net_device *dev)
774 znet->stats.rx_dropped++; 774 znet->stats.rx_dropped++;
775 break; 775 break;
776 } 776 }
777 skb->dev = dev;
778 777
779 if (&znet->rx_cur[(pkt_len+1)>>1] > znet->rx_end) { 778 if (&znet->rx_cur[(pkt_len+1)>>1] > znet->rx_end) {
780 int semi_cnt = (znet->rx_end - znet->rx_cur)<<1; 779 int semi_cnt = (znet->rx_end - znet->rx_cur)<<1;
diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c
index 04e6b8508fb..8f9f217e0a6 100644
--- a/drivers/usb/gadget/ether.c
+++ b/drivers/usb/gadget/ether.c
@@ -1766,7 +1766,6 @@ static void rx_complete (struct usb_ep *ep, struct usb_request *req)
1766 break; 1766 break;
1767 } 1767 }
1768 1768
1769 skb->dev = dev->net;
1770 skb->protocol = eth_type_trans (skb, dev->net); 1769 skb->protocol = eth_type_trans (skb, dev->net);
1771 dev->stats.rx_packets++; 1770 dev->stats.rx_packets++;
1772 dev->stats.rx_bytes += skb->len; 1771 dev->stats.rx_bytes += skb->len;
diff --git a/drivers/usb/net/catc.c b/drivers/usb/net/catc.c
index 4852012735f..d82022dd7f2 100644
--- a/drivers/usb/net/catc.c
+++ b/drivers/usb/net/catc.c
@@ -255,7 +255,6 @@ 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 skb->dev = catc->netdev;
259 eth_copy_and_sum(skb, pkt_start + pkt_offset, pkt_len, 0); 258 eth_copy_and_sum(skb, pkt_start + pkt_offset, pkt_len, 0);
260 skb_put(skb, pkt_len); 259 skb_put(skb, pkt_len);
261 260
diff --git a/drivers/usb/net/kaweth.c b/drivers/usb/net/kaweth.c
index de95268ae4b..a0cc05d21a6 100644
--- a/drivers/usb/net/kaweth.c
+++ b/drivers/usb/net/kaweth.c
@@ -636,8 +636,6 @@ static void kaweth_usb_receive(struct urb *urb)
636 636
637 skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */ 637 skb_reserve(skb, 2); /* Align IP on 16 byte boundaries */
638 638
639 skb->dev = net;
640
641 eth_copy_and_sum(skb, kaweth->rx_buf + 2, pkt_len, 0); 639 eth_copy_and_sum(skb, kaweth->rx_buf + 2, pkt_len, 0);
642 640
643 skb_put(skb, pkt_len); 641 skb_put(skb, pkt_len);
diff --git a/drivers/usb/net/pegasus.c b/drivers/usb/net/pegasus.c
index 6d12961cf9f..13f70e09ea4 100644
--- a/drivers/usb/net/pegasus.c
+++ b/drivers/usb/net/pegasus.c
@@ -575,7 +575,6 @@ static void fill_skb_pool(pegasus_t * pegasus)
575 */ 575 */
576 if (pegasus->rx_pool[i] == NULL) 576 if (pegasus->rx_pool[i] == NULL)
577 return; 577 return;
578 pegasus->rx_pool[i]->dev = pegasus->net;
579 skb_reserve(pegasus->rx_pool[i], 2); 578 skb_reserve(pegasus->rx_pool[i], 2);
580 } 579 }
581} 580}
@@ -1415,8 +1414,10 @@ static void pegasus_disconnect(struct usb_interface *intf)
1415 unlink_all_urbs(pegasus); 1414 unlink_all_urbs(pegasus);
1416 free_all_urbs(pegasus); 1415 free_all_urbs(pegasus);
1417 free_skb_pool(pegasus); 1416 free_skb_pool(pegasus);
1418 if (pegasus->rx_skb) 1417 if (pegasus->rx_skb != NULL) {
1419 dev_kfree_skb(pegasus->rx_skb); 1418 dev_kfree_skb(pegasus->rx_skb);
1419 pegasus->rx_skb = NULL;
1420 }
1420 free_netdev(pegasus->net); 1421 free_netdev(pegasus->net);
1421} 1422}
1422 1423
diff --git a/drivers/usb/net/rtl8150.c b/drivers/usb/net/rtl8150.c
index ea153dc9b0a..fa598f0340c 100644
--- a/drivers/usb/net/rtl8150.c
+++ b/drivers/usb/net/rtl8150.c
@@ -646,7 +646,6 @@ static void fill_skb_pool(rtl8150_t *dev)
646 if (!skb) { 646 if (!skb) {
647 return; 647 return;
648 } 648 }
649 skb->dev = dev->netdev;
650 skb_reserve(skb, 2); 649 skb_reserve(skb, 2);
651 dev->rx_skb_pool[i] = skb; 650 dev->rx_skb_pool[i] = skb;
652 } 651 }
diff --git a/drivers/usb/net/usbnet.c b/drivers/usb/net/usbnet.c
index de69b183bd2..0c5465a7909 100644
--- a/drivers/usb/net/usbnet.c
+++ b/drivers/usb/net/usbnet.c
@@ -203,7 +203,6 @@ void usbnet_skb_return (struct usbnet *dev, struct sk_buff *skb)
203{ 203{
204 int status; 204 int status;
205 205
206 skb->dev = dev->net;
207 skb->protocol = eth_type_trans (skb, dev->net); 206 skb->protocol = eth_type_trans (skb, dev->net);
208 dev->stats.rx_packets++; 207 dev->stats.rx_packets++;
209 dev->stats.rx_bytes += skb->len; 208 dev->stats.rx_bytes += skb->len;
diff --git a/net/atm/lec.c b/net/atm/lec.c
index e5ed878c882..d339645dc79 100644
--- a/net/atm/lec.c
+++ b/net/atm/lec.c
@@ -831,10 +831,7 @@ static void lec_push(struct atm_vcc *vcc, struct sk_buff *skb)
831 skb->protocol = tr_type_trans(skb, dev); 831 skb->protocol = tr_type_trans(skb, dev);
832 else 832 else
833#endif 833#endif
834 {
835 skb->dev = dev;
836 skb->protocol = eth_type_trans(skb, dev); 834 skb->protocol = eth_type_trans(skb, dev);
837 }
838 priv->stats.rx_packets++; 835 priv->stats.rx_packets++;
839 priv->stats.rx_bytes += skb->len; 836 priv->stats.rx_bytes += skb->len;
840 memset(ATM_SKB(skb), 0, sizeof(struct atm_skb_data)); 837 memset(ATM_SKB(skb), 0, sizeof(struct atm_skb_data));
diff --git a/net/bluetooth/bnep/core.c b/net/bluetooth/bnep/core.c
index b85d1492c35..f7ade186bf9 100644
--- a/net/bluetooth/bnep/core.c
+++ b/net/bluetooth/bnep/core.c
@@ -383,7 +383,6 @@ static inline int bnep_rx_frame(struct bnep_session *s, struct sk_buff *skb)
383 kfree_skb(skb); 383 kfree_skb(skb);
384 384
385 s->stats.rx_packets++; 385 s->stats.rx_packets++;
386 nskb->dev = dev;
387 nskb->ip_summed = CHECKSUM_NONE; 386 nskb->ip_summed = CHECKSUM_NONE;
388 nskb->protocol = eth_type_trans(nskb, dev); 387 nskb->protocol = eth_type_trans(nskb, dev);
389 netif_rx_ni(nskb); 388 netif_rx_ni(nskb);
diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c
index 41c5065f4a8..01ecbe42b1e 100644
--- a/net/ethernet/eth.c
+++ b/net/ethernet/eth.c
@@ -156,6 +156,7 @@ __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev)
156 struct ethhdr *eth; 156 struct ethhdr *eth;
157 unsigned char *rawp; 157 unsigned char *rawp;
158 158
159 skb->dev = dev;
159 skb->mac.raw = skb->data; 160 skb->mac.raw = skb->data;
160 skb_pull(skb, ETH_HLEN); 161 skb_pull(skb, ETH_HLEN);
161 eth = eth_hdr(skb); 162 eth = eth_hdr(skb);
diff --git a/net/ieee80211/ieee80211_rx.c b/net/ieee80211/ieee80211_rx.c
index 4084909f6f9..d5f5c661668 100644
--- a/net/ieee80211/ieee80211_rx.c
+++ b/net/ieee80211/ieee80211_rx.c
@@ -800,7 +800,6 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
800 if (skb) { 800 if (skb) {
801 skb->protocol = eth_type_trans(skb, dev); 801 skb->protocol = eth_type_trans(skb, dev);
802 memset(skb->cb, 0, sizeof(skb->cb)); 802 memset(skb->cb, 0, sizeof(skb->cb));
803 skb->dev = dev;
804 skb->ip_summed = CHECKSUM_NONE; /* 802.11 crc not sufficient */ 803 skb->ip_summed = CHECKSUM_NONE; /* 802.11 crc not sufficient */
805 if (netif_rx(skb) == NET_RX_DROP) { 804 if (netif_rx(skb) == NET_RX_DROP) {
806 /* netif_rx always succeeds, but it might drop 805 /* netif_rx always succeeds, but it might drop
diff --git a/net/irda/irlan/irlan_eth.c b/net/irda/irlan/irlan_eth.c
index 672ab3f6903..c421521c0a9 100644
--- a/net/irda/irlan/irlan_eth.c
+++ b/net/irda/irlan/irlan_eth.c
@@ -234,8 +234,7 @@ int irlan_eth_receive(void *instance, void *sap, struct sk_buff *skb)
234 * might have been previously set by the low level IrDA network 234 * might have been previously set by the low level IrDA network
235 * device driver 235 * device driver
236 */ 236 */
237 skb->dev = self->dev; 237 skb->protocol = eth_type_trans(skb, self->dev); /* Remove eth header */
238 skb->protocol=eth_type_trans(skb, skb->dev); /* Remove eth header */
239 238
240 self->stats.rx_packets++; 239 self->stats.rx_packets++;
241 self->stats.rx_bytes += skb->len; 240 self->stats.rx_bytes += skb->len;