diff options
-rw-r--r-- | drivers/net/wireless/ipw2x00/ipw2200.c | 24 | ||||
-rw-r--r-- | drivers/net/wireless/libertas/radiotap.h | 3 | ||||
-rw-r--r-- | include/net/ieee80211_radiotap.h | 15 |
3 files changed, 6 insertions, 36 deletions
diff --git a/drivers/net/wireless/ipw2x00/ipw2200.c b/drivers/net/wireless/ipw2x00/ipw2200.c index d2a2b7586d08..48fa6df3a774 100644 --- a/drivers/net/wireless/ipw2x00/ipw2200.c +++ b/drivers/net/wireless/ipw2x00/ipw2200.c | |||
@@ -7797,15 +7797,6 @@ static void ipw_handle_data_packet_monitor(struct ipw_priv *priv, | |||
7797 | memmove(rxb->skb->data + sizeof(struct ipw_rt_hdr), | 7797 | memmove(rxb->skb->data + sizeof(struct ipw_rt_hdr), |
7798 | rxb->skb->data + IPW_RX_FRAME_SIZE, len); | 7798 | rxb->skb->data + IPW_RX_FRAME_SIZE, len); |
7799 | 7799 | ||
7800 | /* Zero the radiotap static buffer ... We only need to zero the bytes NOT | ||
7801 | * part of our real header, saves a little time. | ||
7802 | * | ||
7803 | * No longer necessary since we fill in all our data. Purge before merging | ||
7804 | * patch officially. | ||
7805 | * memset(rxb->skb->data + sizeof(struct ipw_rt_hdr), 0, | ||
7806 | * IEEE80211_RADIOTAP_HDRLEN - sizeof(struct ipw_rt_hdr)); | ||
7807 | */ | ||
7808 | |||
7809 | ipw_rt = (struct ipw_rt_hdr *)rxb->skb->data; | 7800 | ipw_rt = (struct ipw_rt_hdr *)rxb->skb->data; |
7810 | 7801 | ||
7811 | ipw_rt->rt_hdr.it_version = PKTHDR_RADIOTAP_VERSION; | 7802 | ipw_rt->rt_hdr.it_version = PKTHDR_RADIOTAP_VERSION; |
@@ -8013,15 +8004,6 @@ static void ipw_handle_promiscuous_rx(struct ipw_priv *priv, | |||
8013 | 8004 | ||
8014 | memcpy(ipw_rt->payload, hdr, len); | 8005 | memcpy(ipw_rt->payload, hdr, len); |
8015 | 8006 | ||
8016 | /* Zero the radiotap static buffer ... We only need to zero the bytes | ||
8017 | * NOT part of our real header, saves a little time. | ||
8018 | * | ||
8019 | * No longer necessary since we fill in all our data. Purge before | ||
8020 | * merging patch officially. | ||
8021 | * memset(rxb->skb->data + sizeof(struct ipw_rt_hdr), 0, | ||
8022 | * IEEE80211_RADIOTAP_HDRLEN - sizeof(struct ipw_rt_hdr)); | ||
8023 | */ | ||
8024 | |||
8025 | ipw_rt->rt_hdr.it_version = PKTHDR_RADIOTAP_VERSION; | 8007 | ipw_rt->rt_hdr.it_version = PKTHDR_RADIOTAP_VERSION; |
8026 | ipw_rt->rt_hdr.it_pad = 0; /* always good to zero */ | 8008 | ipw_rt->rt_hdr.it_pad = 0; /* always good to zero */ |
8027 | ipw_rt->rt_hdr.it_len = cpu_to_le16(sizeof(*ipw_rt)); /* total header+data */ | 8009 | ipw_rt->rt_hdr.it_len = cpu_to_le16(sizeof(*ipw_rt)); /* total header+data */ |
@@ -10409,9 +10391,9 @@ static void ipw_handle_promiscuous_tx(struct ipw_priv *priv, | |||
10409 | } else | 10391 | } else |
10410 | len = src->len; | 10392 | len = src->len; |
10411 | 10393 | ||
10412 | dst = alloc_skb( | 10394 | dst = alloc_skb(len + sizeof(*rt_hdr), GFP_ATOMIC); |
10413 | len + IEEE80211_RADIOTAP_HDRLEN, GFP_ATOMIC); | 10395 | if (!dst) |
10414 | if (!dst) continue; | 10396 | continue; |
10415 | 10397 | ||
10416 | rt_hdr = (void *)skb_put(dst, sizeof(*rt_hdr)); | 10398 | rt_hdr = (void *)skb_put(dst, sizeof(*rt_hdr)); |
10417 | 10399 | ||
diff --git a/drivers/net/wireless/libertas/radiotap.h b/drivers/net/wireless/libertas/radiotap.h index 5d118f40cfbc..f8eb9097ff0a 100644 --- a/drivers/net/wireless/libertas/radiotap.h +++ b/drivers/net/wireless/libertas/radiotap.h | |||
@@ -6,9 +6,6 @@ struct tx_radiotap_hdr { | |||
6 | u8 txpower; | 6 | u8 txpower; |
7 | u8 rts_retries; | 7 | u8 rts_retries; |
8 | u8 data_retries; | 8 | u8 data_retries; |
9 | #if 0 | ||
10 | u8 pad[IEEE80211_RADIOTAP_HDRLEN - 12]; | ||
11 | #endif | ||
12 | } __attribute__ ((packed)); | 9 | } __attribute__ ((packed)); |
13 | 10 | ||
14 | #define TX_RADIOTAP_PRESENT ( \ | 11 | #define TX_RADIOTAP_PRESENT ( \ |
diff --git a/include/net/ieee80211_radiotap.h b/include/net/ieee80211_radiotap.h index d364fd594ea4..384698cb773a 100644 --- a/include/net/ieee80211_radiotap.h +++ b/include/net/ieee80211_radiotap.h | |||
@@ -1,7 +1,4 @@ | |||
1 | /* $FreeBSD: src/sys/net80211/ieee80211_radiotap.h,v 1.5 2005/01/22 20:12:05 sam Exp $ */ | 1 | /* |
2 | /* $NetBSD: ieee80211_radiotap.h,v 1.11 2005/06/22 06:16:02 dyoung Exp $ */ | ||
3 | |||
4 | /*- | ||
5 | * Copyright (c) 2003, 2004 David Young. All rights reserved. | 2 | * Copyright (c) 2003, 2004 David Young. All rights reserved. |
6 | * | 3 | * |
7 | * Redistribution and use in source and binary forms, with or without | 4 | * Redistribution and use in source and binary forms, with or without |
@@ -42,8 +39,6 @@ | |||
42 | #include <linux/kernel.h> | 39 | #include <linux/kernel.h> |
43 | #include <asm/unaligned.h> | 40 | #include <asm/unaligned.h> |
44 | 41 | ||
45 | /* Radiotap header version (from official NetBSD feed) */ | ||
46 | #define IEEE80211RADIOTAP_VERSION "1.5" | ||
47 | /* Base version of the radiotap packet header data */ | 42 | /* Base version of the radiotap packet header data */ |
48 | #define PKTHDR_RADIOTAP_VERSION 0 | 43 | #define PKTHDR_RADIOTAP_VERSION 0 |
49 | 44 | ||
@@ -62,12 +57,8 @@ | |||
62 | * readers. | 57 | * readers. |
63 | */ | 58 | */ |
64 | 59 | ||
65 | /* XXX tcpdump/libpcap do not tolerate variable-length headers, | 60 | /* |
66 | * yet, so we pad every radiotap header to 64 bytes. Ugh. | 61 | * The radio capture header precedes the 802.11 header. |
67 | */ | ||
68 | #define IEEE80211_RADIOTAP_HDRLEN 64 | ||
69 | |||
70 | /* The radio capture header precedes the 802.11 header. | ||
71 | * All data in the header is little endian on all platforms. | 62 | * All data in the header is little endian on all platforms. |
72 | */ | 63 | */ |
73 | struct ieee80211_radiotap_header { | 64 | struct ieee80211_radiotap_header { |