aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/ipw2x00/ipw2200.c24
-rw-r--r--drivers/net/wireless/libertas/radiotap.h3
-rw-r--r--include/net/ieee80211_radiotap.h15
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 */
73struct ieee80211_radiotap_header { 64struct ieee80211_radiotap_header {