projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix bluetooth HCI sysfs compile
[powerpc.git]
/
net
/
ieee80211
/
ieee80211_rx.c
diff --git
a/net/ieee80211/ieee80211_rx.c
b/net/ieee80211/ieee80211_rx.c
index
4084909
..
f2de2e4
100644
(file)
--- a/
net/ieee80211/ieee80211_rx.c
+++ b/
net/ieee80211/ieee80211_rx.c
@@
-3,8
+3,8
@@
* for Intersil Prism2/2.5/3 - hostap.o module, common routines
*
* Copyright (c) 2001-2002, SSH Communications Security Corp and Jouni Malinen
* for Intersil Prism2/2.5/3 - hostap.o module, common routines
*
* Copyright (c) 2001-2002, SSH Communications Security Corp and Jouni Malinen
- * <j
kmaline@cc.hut
.fi>
- * Copyright (c) 2002-2003, Jouni Malinen <j
kmaline@cc.hut
.fi>
+ * <j
@w1
.fi>
+ * Copyright (c) 2002-2003, Jouni Malinen <j
@w1
.fi>
* Copyright (c) 2004-2005, Intel Corporation
*
* This program is free software; you can redistribute it and/or modify
* Copyright (c) 2004-2005, Intel Corporation
*
* This program is free software; you can redistribute it and/or modify
@@
-42,7
+42,7
@@
static void ieee80211_monitor_rx(struct ieee80211_device *ieee,
u16 fc = le16_to_cpu(hdr->frame_ctl);
skb->dev = ieee->dev;
u16 fc = le16_to_cpu(hdr->frame_ctl);
skb->dev = ieee->dev;
- skb
->mac.raw = skb->data
;
+ skb
_reset_mac_header(skb)
;
skb_pull(skb, ieee80211_get_hdrlen(fc));
skb->pkt_type = PACKET_OTHERHOST;
skb->protocol = __constant_htons(ETH_P_80211_RAW);
skb_pull(skb, ieee80211_get_hdrlen(fc));
skb->pkt_type = PACKET_OTHERHOST;
skb->protocol = __constant_htons(ETH_P_80211_RAW);
@@
-606,12
+606,12
@@
int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
if (frag == 0) {
/* copy first fragment (including full headers) into
* beginning of the fragment cache skb */
if (frag == 0) {
/* copy first fragment (including full headers) into
* beginning of the fragment cache skb */
-
memcpy(skb_put(frag_skb, flen), skb->data
, flen);
+
skb_copy_from_linear_data(skb, skb_put(frag_skb, flen)
, flen);
} else {
/* append frame payload to the end of the fragment
* cache skb */
} else {
/* append frame payload to the end of the fragment
* cache skb */
-
memcpy(skb_put(frag_skb, flen), skb->data +
hdrlen,
- flen);
+
skb_copy_from_linear_data_offset(skb,
hdrlen,
+
skb_put(frag_skb, flen),
flen);
}
dev_kfree_skb_any(skb);
skb = NULL;
}
dev_kfree_skb_any(skb);
skb = NULL;
@@
-759,8
+759,9
@@
int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
IEEE80211_FCTL_TODS) && skb->len >= ETH_HLEN + ETH_ALEN) {
/* Non-standard frame: get addr4 from its bogus location after
* the payload */
IEEE80211_FCTL_TODS) && skb->len >= ETH_HLEN + ETH_ALEN) {
/* Non-standard frame: get addr4 from its bogus location after
* the payload */
- memcpy(skb->data + ETH_ALEN,
- skb->data + skb->len - ETH_ALEN, ETH_ALEN);
+ skb_copy_to_linear_data_offset(skb, ETH_ALEN,
+ skb->data + skb->len - ETH_ALEN,
+ ETH_ALEN);
skb_trim(skb, skb->len - ETH_ALEN);
}
#endif
skb_trim(skb, skb->len - ETH_ALEN);
}
#endif
@@
-789,10
+790,11
@@
int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
if (skb2 != NULL) {
/* send to wireless media */
if (skb2 != NULL) {
/* send to wireless media */
- skb2->protocol = __constant_htons(ETH_P_802_3);
- skb2->mac.raw = skb2->nh.raw = skb2->data;
- /* skb2->nh.raw = skb2->data + ETH_HLEN; */
skb2->dev = dev;
skb2->dev = dev;
+ skb2->protocol = __constant_htons(ETH_P_802_3);
+ skb_reset_mac_header(skb2);
+ skb_reset_network_header(skb2);
+ /* skb2->network_header += ETH_HLEN; */
dev_queue_xmit(skb2);
}
#endif
dev_queue_xmit(skb2);
}
#endif
@@
-800,7
+802,6
@@
int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
if (skb) {
skb->protocol = eth_type_trans(skb, dev);
memset(skb->cb, 0, sizeof(skb->cb));
if (skb) {
skb->protocol = eth_type_trans(skb, dev);
memset(skb->cb, 0, sizeof(skb->cb));
- skb->dev = dev;
skb->ip_summed = CHECKSUM_NONE; /* 802.11 crc not sufficient */
if (netif_rx(skb) == NET_RX_DROP) {
/* netif_rx always succeeds, but it might drop
skb->ip_summed = CHECKSUM_NONE; /* 802.11 crc not sufficient */
if (netif_rx(skb) == NET_RX_DROP) {
/* netif_rx always succeeds, but it might drop