diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-27 12:26:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-27 12:26:46 -0400 |
commit | 15c54033964a943de7b0763efd3bd0ede7326395 (patch) | |
tree | 840b292612d1b5396d5bab5bde537a9013db3ceb /arch | |
parent | ad5da3cf39a5b11a198929be1f2644e17ecd767e (diff) | |
parent | 912a41a4ab935ce8c4308428ec13fc7f8b1f18f4 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (448 commits)
[IPV4] nl_fib_lookup: Initialise res.r before fib_res_put(&res)
[IPV6]: Fix thinko in ipv6_rthdr_rcv() changes.
[IPV4]: Add multipath cached to feature-removal-schedule.txt
[WIRELESS] cfg80211: Clarify locking comment.
[WIRELESS] cfg80211: Fix locking in wiphy_new.
[WEXT] net_device: Don't include wext bits if not required.
[WEXT]: Misc code cleanups.
[WEXT]: Reduce inline abuse.
[WEXT]: Move EXPORT_SYMBOL statements where they belong.
[WEXT]: Cleanup early ioctl call path.
[WEXT]: Remove options.
[WEXT]: Remove dead debug code.
[WEXT]: Clean up how wext is called.
[WEXT]: Move to net/wireless
[AFS]: Eliminate cmpxchg() usage in vlocation code.
[RXRPC]: Fix pointers passed to bitops.
[RXRPC]: Remove bogus atomic_* overrides.
[AFS]: Fix u64 printing in debug logging.
[AFS]: Add "directory write" support.
[AFS]: Implement the CB.InitCallBackState3 operation.
...
Diffstat (limited to 'arch')
-rw-r--r-- | arch/ia64/hp/sim/simeth.c | 3 | ||||
-rw-r--r-- | arch/ia64/sn/kernel/xpnet.c | 18 | ||||
-rw-r--r-- | arch/ppc/8260_io/enet.c | 1 | ||||
-rw-r--r-- | arch/ppc/8260_io/fcc_enet.c | 1 | ||||
-rw-r--r-- | arch/ppc/8xx_io/enet.c | 1 | ||||
-rw-r--r-- | arch/ppc/8xx_io/fec.c | 1 | ||||
-rw-r--r-- | arch/s390/appldata/appldata_net_sum.c | 4 | ||||
-rw-r--r-- | arch/s390/lib/Makefile | 2 | ||||
-rw-r--r-- | arch/s390/lib/div64.c | 2 | ||||
-rw-r--r-- | arch/um/drivers/daemon_kern.c | 2 | ||||
-rw-r--r-- | arch/um/drivers/mcast_kern.c | 2 | ||||
-rw-r--r-- | arch/um/drivers/net_kern.c | 2 | ||||
-rw-r--r-- | arch/um/drivers/pcap_kern.c | 2 | ||||
-rw-r--r-- | arch/um/drivers/slip_kern.c | 2 | ||||
-rw-r--r-- | arch/um/drivers/slirp_kern.c | 2 | ||||
-rw-r--r-- | arch/um/os-Linux/drivers/ethertap_kern.c | 2 | ||||
-rw-r--r-- | arch/um/os-Linux/drivers/tuntap_kern.c | 2 | ||||
-rw-r--r-- | arch/xtensa/platform-iss/network.c | 2 |
18 files changed, 22 insertions, 29 deletions
diff --git a/arch/ia64/hp/sim/simeth.c b/arch/ia64/hp/sim/simeth.c index 424e9257c9a0..f26077a773d5 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 | ||
@@ -474,7 +473,7 @@ simeth_rx(struct net_device *dev) | |||
474 | * XXX Fix me | 473 | * XXX Fix me |
475 | * Should really do a csum+copy here | 474 | * Should really do a csum+copy here |
476 | */ | 475 | */ |
477 | memcpy(skb->data, frame, len); | 476 | skb_copy_to_linear_data(skb, frame, len); |
478 | #endif | 477 | #endif |
479 | skb->protocol = eth_type_trans(skb, dev); | 478 | skb->protocol = eth_type_trans(skb, dev); |
480 | 479 | ||
diff --git a/arch/ia64/sn/kernel/xpnet.c b/arch/ia64/sn/kernel/xpnet.c index c8173db0d84f..5419acb89a8c 100644 --- a/arch/ia64/sn/kernel/xpnet.c +++ b/arch/ia64/sn/kernel/xpnet.c | |||
@@ -233,7 +233,7 @@ xpnet_receive(partid_t partid, int channel, struct xpnet_message *msg) | |||
233 | "%lu)\n", skb->data, &msg->data, | 233 | "%lu)\n", skb->data, &msg->data, |
234 | (size_t) msg->embedded_bytes); | 234 | (size_t) msg->embedded_bytes); |
235 | 235 | ||
236 | memcpy(skb->data, &msg->data, (size_t) msg->embedded_bytes); | 236 | skb_copy_to_linear_data(skb, &msg->data, (size_t)msg->embedded_bytes); |
237 | } else { | 237 | } else { |
238 | dev_dbg(xpnet, "transferring buffer to the skb->data area;\n\t" | 238 | dev_dbg(xpnet, "transferring buffer to the skb->data area;\n\t" |
239 | "bte_copy(0x%p, 0x%p, %hu)\n", (void *)msg->buf_pa, | 239 | "bte_copy(0x%p, 0x%p, %hu)\n", (void *)msg->buf_pa, |
@@ -264,17 +264,16 @@ xpnet_receive(partid_t partid, int channel, struct xpnet_message *msg) | |||
264 | 264 | ||
265 | dev_dbg(xpnet, "<skb->head=0x%p skb->data=0x%p skb->tail=0x%p " | 265 | dev_dbg(xpnet, "<skb->head=0x%p skb->data=0x%p skb->tail=0x%p " |
266 | "skb->end=0x%p skb->len=%d\n", (void *) skb->head, | 266 | "skb->end=0x%p skb->len=%d\n", (void *) skb->head, |
267 | (void *) skb->data, (void *) skb->tail, (void *) skb->end, | 267 | (void *)skb->data, skb_tail_pointer(skb), skb_end_pointer(skb), |
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 | ||
274 | dev_dbg(xpnet, "passing skb to network layer; \n\tskb->head=0x%p " | 273 | dev_dbg(xpnet, "passing skb to network layer; \n\tskb->head=0x%p " |
275 | "skb->data=0x%p skb->tail=0x%p skb->end=0x%p skb->len=%d\n", | 274 | "skb->data=0x%p skb->tail=0x%p skb->end=0x%p skb->len=%d\n", |
276 | (void *) skb->head, (void *) skb->data, (void *) skb->tail, | 275 | (void *)skb->head, (void *)skb->data, skb_tail_pointer(skb), |
277 | (void *) skb->end, skb->len); | 276 | skb_end_pointer(skb), skb->len); |
278 | 277 | ||
279 | 278 | ||
280 | xpnet_device->last_rx = jiffies; | 279 | xpnet_device->last_rx = jiffies; |
@@ -476,7 +475,7 @@ xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
476 | 475 | ||
477 | dev_dbg(xpnet, ">skb->head=0x%p skb->data=0x%p skb->tail=0x%p " | 476 | dev_dbg(xpnet, ">skb->head=0x%p skb->data=0x%p skb->tail=0x%p " |
478 | "skb->end=0x%p skb->len=%d\n", (void *) skb->head, | 477 | "skb->end=0x%p skb->len=%d\n", (void *) skb->head, |
479 | (void *) skb->data, (void *) skb->tail, (void *) skb->end, | 478 | (void *)skb->data, skb_tail_pointer(skb), skb_end_pointer(skb), |
480 | skb->len); | 479 | skb->len); |
481 | 480 | ||
482 | 481 | ||
@@ -498,7 +497,7 @@ xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
498 | 497 | ||
499 | /* get the beginning of the first cacheline and end of last */ | 498 | /* get the beginning of the first cacheline and end of last */ |
500 | start_addr = ((u64) skb->data & ~(L1_CACHE_BYTES - 1)); | 499 | start_addr = ((u64) skb->data & ~(L1_CACHE_BYTES - 1)); |
501 | end_addr = L1_CACHE_ALIGN((u64) skb->tail); | 500 | end_addr = L1_CACHE_ALIGN((u64)skb_tail_pointer(skb)); |
502 | 501 | ||
503 | /* calculate how many bytes to embed in the XPC message */ | 502 | /* calculate how many bytes to embed in the XPC message */ |
504 | embedded_bytes = 0; | 503 | embedded_bytes = 0; |
@@ -567,14 +566,15 @@ xpnet_dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
567 | msg->version = XPNET_VERSION_EMBED; | 566 | msg->version = XPNET_VERSION_EMBED; |
568 | dev_dbg(xpnet, "calling memcpy(0x%p, 0x%p, 0x%lx)\n", | 567 | dev_dbg(xpnet, "calling memcpy(0x%p, 0x%p, 0x%lx)\n", |
569 | &msg->data, skb->data, (size_t) embedded_bytes); | 568 | &msg->data, skb->data, (size_t) embedded_bytes); |
570 | memcpy(&msg->data, skb->data, (size_t) embedded_bytes); | 569 | skb_copy_from_linear_data(skb, &msg->data, |
570 | (size_t)embedded_bytes); | ||
571 | } else { | 571 | } else { |
572 | msg->version = XPNET_VERSION; | 572 | msg->version = XPNET_VERSION; |
573 | } | 573 | } |
574 | msg->magic = XPNET_MAGIC; | 574 | msg->magic = XPNET_MAGIC; |
575 | msg->size = end_addr - start_addr; | 575 | msg->size = end_addr - start_addr; |
576 | msg->leadin_ignore = (u64) skb->data - start_addr; | 576 | msg->leadin_ignore = (u64) skb->data - start_addr; |
577 | msg->tailout_ignore = end_addr - (u64) skb->tail; | 577 | msg->tailout_ignore = end_addr - (u64)skb_tail_pointer(skb); |
578 | msg->buf_pa = __pa(start_addr); | 578 | msg->buf_pa = __pa(start_addr); |
579 | 579 | ||
580 | dev_dbg(xpnet, "sending XPC message to %d:%d\nmsg->buf_pa=" | 580 | dev_dbg(xpnet, "sending XPC message to %d:%d\nmsg->buf_pa=" |
diff --git a/arch/ppc/8260_io/enet.c b/arch/ppc/8260_io/enet.c index a6056c29cf00..48ce84f5be93 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 06b84c372e58..9db825fe37f0 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 b23c45bc151a..bfa3f52996d1 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 e6c28fb423b2..57a9a61e54b5 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/arch/s390/appldata/appldata_net_sum.c b/arch/s390/appldata/appldata_net_sum.c index f64b8c867ae2..516b3ac9a9b5 100644 --- a/arch/s390/appldata/appldata_net_sum.c +++ b/arch/s390/appldata/appldata_net_sum.c | |||
@@ -108,10 +108,10 @@ static void appldata_get_net_sum_data(void *data) | |||
108 | collisions = 0; | 108 | collisions = 0; |
109 | read_lock(&dev_base_lock); | 109 | read_lock(&dev_base_lock); |
110 | for (dev = dev_base; dev != NULL; dev = dev->next) { | 110 | for (dev = dev_base; dev != NULL; dev = dev->next) { |
111 | if (dev->get_stats == NULL) { | 111 | stats = dev->get_stats(dev); |
112 | if (stats == NULL) { | ||
112 | continue; | 113 | continue; |
113 | } | 114 | } |
114 | stats = dev->get_stats(dev); | ||
115 | rx_packets += stats->rx_packets; | 115 | rx_packets += stats->rx_packets; |
116 | tx_packets += stats->tx_packets; | 116 | tx_packets += stats->tx_packets; |
117 | rx_bytes += stats->rx_bytes; | 117 | rx_bytes += stats->rx_bytes; |
diff --git a/arch/s390/lib/Makefile b/arch/s390/lib/Makefile index 7a44fed21b35..59aea65ce99f 100644 --- a/arch/s390/lib/Makefile +++ b/arch/s390/lib/Makefile | |||
@@ -5,6 +5,6 @@ | |||
5 | EXTRA_AFLAGS := -traditional | 5 | EXTRA_AFLAGS := -traditional |
6 | 6 | ||
7 | lib-y += delay.o string.o uaccess_std.o uaccess_pt.o qrnnd.o | 7 | lib-y += delay.o string.o uaccess_std.o uaccess_pt.o qrnnd.o |
8 | lib-$(CONFIG_32BIT) += div64.o | 8 | obj-$(CONFIG_32BIT) += div64.o |
9 | lib-$(CONFIG_64BIT) += uaccess_mvcos.o | 9 | lib-$(CONFIG_64BIT) += uaccess_mvcos.o |
10 | lib-$(CONFIG_SMP) += spinlock.o | 10 | lib-$(CONFIG_SMP) += spinlock.o |
diff --git a/arch/s390/lib/div64.c b/arch/s390/lib/div64.c index 0481f3424a13..a5f8300bf3ee 100644 --- a/arch/s390/lib/div64.c +++ b/arch/s390/lib/div64.c | |||
@@ -147,5 +147,3 @@ uint32_t __div64_32(uint64_t *n, uint32_t base) | |||
147 | } | 147 | } |
148 | 148 | ||
149 | #endif /* MARCH_G5 */ | 149 | #endif /* MARCH_G5 */ |
150 | |||
151 | EXPORT_SYMBOL(__div64_32); | ||
diff --git a/arch/um/drivers/daemon_kern.c b/arch/um/drivers/daemon_kern.c index 9c2e7a758f21..adeece11e596 100644 --- a/arch/um/drivers/daemon_kern.c +++ b/arch/um/drivers/daemon_kern.c | |||
@@ -46,7 +46,7 @@ static int daemon_read(int fd, struct sk_buff **skb, | |||
46 | { | 46 | { |
47 | *skb = ether_adjust_skb(*skb, ETH_HEADER_OTHER); | 47 | *skb = ether_adjust_skb(*skb, ETH_HEADER_OTHER); |
48 | if(*skb == NULL) return(-ENOMEM); | 48 | if(*skb == NULL) return(-ENOMEM); |
49 | return(net_recvfrom(fd, (*skb)->mac.raw, | 49 | return(net_recvfrom(fd, skb_mac_header(*skb), |
50 | (*skb)->dev->mtu + ETH_HEADER_OTHER)); | 50 | (*skb)->dev->mtu + ETH_HEADER_OTHER)); |
51 | } | 51 | } |
52 | 52 | ||
diff --git a/arch/um/drivers/mcast_kern.c b/arch/um/drivers/mcast_kern.c index 52ccb7b53cd2..e6b8e0dd72a8 100644 --- a/arch/um/drivers/mcast_kern.c +++ b/arch/um/drivers/mcast_kern.c | |||
@@ -50,7 +50,7 @@ static int mcast_read(int fd, struct sk_buff **skb, struct uml_net_private *lp) | |||
50 | { | 50 | { |
51 | *skb = ether_adjust_skb(*skb, ETH_HEADER_OTHER); | 51 | *skb = ether_adjust_skb(*skb, ETH_HEADER_OTHER); |
52 | if(*skb == NULL) return(-ENOMEM); | 52 | if(*skb == NULL) return(-ENOMEM); |
53 | return(net_recvfrom(fd, (*skb)->mac.raw, | 53 | return(net_recvfrom(fd, skb_mac_header(*skb), |
54 | (*skb)->dev->mtu + ETH_HEADER_OTHER)); | 54 | (*skb)->dev->mtu + ETH_HEADER_OTHER)); |
55 | } | 55 | } |
56 | 56 | ||
diff --git a/arch/um/drivers/net_kern.c b/arch/um/drivers/net_kern.c index 04e31f86c10a..859303730b2f 100644 --- a/arch/um/drivers/net_kern.c +++ b/arch/um/drivers/net_kern.c | |||
@@ -55,7 +55,7 @@ static int uml_net_rx(struct net_device *dev) | |||
55 | 55 | ||
56 | skb->dev = dev; | 56 | skb->dev = dev; |
57 | skb_put(skb, dev->mtu); | 57 | skb_put(skb, dev->mtu); |
58 | skb->mac.raw = skb->data; | 58 | skb_reset_mac_header(skb); |
59 | pkt_len = (*lp->read)(lp->fd, &skb, lp); | 59 | pkt_len = (*lp->read)(lp->fd, &skb, lp); |
60 | 60 | ||
61 | if (pkt_len > 0) { | 61 | if (pkt_len > 0) { |
diff --git a/arch/um/drivers/pcap_kern.c b/arch/um/drivers/pcap_kern.c index e67362acf0e7..948849343ca4 100644 --- a/arch/um/drivers/pcap_kern.c +++ b/arch/um/drivers/pcap_kern.c | |||
@@ -36,7 +36,7 @@ static int pcap_read(int fd, struct sk_buff **skb, | |||
36 | { | 36 | { |
37 | *skb = ether_adjust_skb(*skb, ETH_HEADER_OTHER); | 37 | *skb = ether_adjust_skb(*skb, ETH_HEADER_OTHER); |
38 | if(*skb == NULL) return(-ENOMEM); | 38 | if(*skb == NULL) return(-ENOMEM); |
39 | return(pcap_user_read(fd, (*skb)->mac.raw, | 39 | return(pcap_user_read(fd, skb_mac_header(*skb), |
40 | (*skb)->dev->mtu + ETH_HEADER_OTHER, | 40 | (*skb)->dev->mtu + ETH_HEADER_OTHER, |
41 | (struct pcap_data *) &lp->user)); | 41 | (struct pcap_data *) &lp->user)); |
42 | } | 42 | } |
diff --git a/arch/um/drivers/slip_kern.c b/arch/um/drivers/slip_kern.c index 25634bd1f585..125c44f77638 100644 --- a/arch/um/drivers/slip_kern.c +++ b/arch/um/drivers/slip_kern.c | |||
@@ -49,7 +49,7 @@ static unsigned short slip_protocol(struct sk_buff *skbuff) | |||
49 | static int slip_read(int fd, struct sk_buff **skb, | 49 | static int slip_read(int fd, struct sk_buff **skb, |
50 | struct uml_net_private *lp) | 50 | struct uml_net_private *lp) |
51 | { | 51 | { |
52 | return(slip_user_read(fd, (*skb)->mac.raw, (*skb)->dev->mtu, | 52 | return(slip_user_read(fd, skb_mac_header(*skb), (*skb)->dev->mtu, |
53 | (struct slip_data *) &lp->user)); | 53 | (struct slip_data *) &lp->user)); |
54 | } | 54 | } |
55 | 55 | ||
diff --git a/arch/um/drivers/slirp_kern.c b/arch/um/drivers/slirp_kern.c index b3ed8fb874ab..0a0324a6d290 100644 --- a/arch/um/drivers/slirp_kern.c +++ b/arch/um/drivers/slirp_kern.c | |||
@@ -53,7 +53,7 @@ static unsigned short slirp_protocol(struct sk_buff *skbuff) | |||
53 | static int slirp_read(int fd, struct sk_buff **skb, | 53 | static int slirp_read(int fd, struct sk_buff **skb, |
54 | struct uml_net_private *lp) | 54 | struct uml_net_private *lp) |
55 | { | 55 | { |
56 | return(slirp_user_read(fd, (*skb)->mac.raw, (*skb)->dev->mtu, | 56 | return(slirp_user_read(fd, skb_mac_header(*skb), (*skb)->dev->mtu, |
57 | (struct slirp_data *) &lp->user)); | 57 | (struct slirp_data *) &lp->user)); |
58 | } | 58 | } |
59 | 59 | ||
diff --git a/arch/um/os-Linux/drivers/ethertap_kern.c b/arch/um/os-Linux/drivers/ethertap_kern.c index 70541821775f..12689141414d 100644 --- a/arch/um/os-Linux/drivers/ethertap_kern.c +++ b/arch/um/os-Linux/drivers/ethertap_kern.c | |||
@@ -43,7 +43,7 @@ static int etap_read(int fd, struct sk_buff **skb, struct uml_net_private *lp) | |||
43 | 43 | ||
44 | *skb = ether_adjust_skb(*skb, ETH_HEADER_ETHERTAP); | 44 | *skb = ether_adjust_skb(*skb, ETH_HEADER_ETHERTAP); |
45 | if(*skb == NULL) return(-ENOMEM); | 45 | if(*skb == NULL) return(-ENOMEM); |
46 | len = net_recvfrom(fd, (*skb)->mac.raw, | 46 | len = net_recvfrom(fd, skb_mac_header(*skb), |
47 | (*skb)->dev->mtu + 2 * ETH_HEADER_ETHERTAP); | 47 | (*skb)->dev->mtu + 2 * ETH_HEADER_ETHERTAP); |
48 | if(len <= 0) return(len); | 48 | if(len <= 0) return(len); |
49 | skb_pull(*skb, 2); | 49 | skb_pull(*skb, 2); |
diff --git a/arch/um/os-Linux/drivers/tuntap_kern.c b/arch/um/os-Linux/drivers/tuntap_kern.c index 76570a2c25c3..f1714e7fb1d0 100644 --- a/arch/um/os-Linux/drivers/tuntap_kern.c +++ b/arch/um/os-Linux/drivers/tuntap_kern.c | |||
@@ -43,7 +43,7 @@ static int tuntap_read(int fd, struct sk_buff **skb, | |||
43 | { | 43 | { |
44 | *skb = ether_adjust_skb(*skb, ETH_HEADER_OTHER); | 44 | *skb = ether_adjust_skb(*skb, ETH_HEADER_OTHER); |
45 | if(*skb == NULL) return(-ENOMEM); | 45 | if(*skb == NULL) return(-ENOMEM); |
46 | return(net_read(fd, (*skb)->mac.raw, | 46 | return(net_read(fd, skb_mac_header(*skb), |
47 | (*skb)->dev->mtu + ETH_HEADER_OTHER)); | 47 | (*skb)->dev->mtu + ETH_HEADER_OTHER)); |
48 | } | 48 | } |
49 | 49 | ||
diff --git a/arch/xtensa/platform-iss/network.c b/arch/xtensa/platform-iss/network.c index 8ebfc8761229..ab05bff40104 100644 --- a/arch/xtensa/platform-iss/network.c +++ b/arch/xtensa/platform-iss/network.c | |||
@@ -386,7 +386,7 @@ static int iss_net_rx(struct net_device *dev) | |||
386 | /* Setup skb */ | 386 | /* Setup skb */ |
387 | 387 | ||
388 | skb->dev = dev; | 388 | skb->dev = dev; |
389 | skb->mac.raw = skb->data; | 389 | skb_reset_mac_header(skb); |
390 | pkt_len = lp->tp.read(lp, &skb); | 390 | pkt_len = lp->tp.read(lp, &skb); |
391 | skb_put(skb, pkt_len); | 391 | skb_put(skb, pkt_len); |
392 | 392 | ||