Commit 0604384d authored by Bartlomiej Zolnierkiewicz's avatar Bartlomiej Zolnierkiewicz Committed by Greg Kroah-Hartman

Staging: rtl8187se: rename struct ieee80211_hdr to struct ieee80211_hdr_4addr

ieee80211_hdr name is too generic so use ieee80211_hdr_4addr one instead
(which matches the naming used by rtl8192su driver).
Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent f5ce8fe1
TODO: TODO:
- prepare private ieee80211 stack for merge with rtl8192su's version: - prepare private ieee80211 stack for merge with rtl8192su's version:
- rename struct ieee80211_hdr to struct ieee80211_hdr_4addr
- rename struct ieee80211_hdr_3addr_QOS to struct ieee80211_hdr_3addrqos - rename struct ieee80211_hdr_3addr_QOS to struct ieee80211_hdr_3addrqos
- rename struct ieee80211_hdr_QOS to struct ieee80211_hdr_4addrqos - rename struct ieee80211_hdr_QOS to struct ieee80211_hdr_4addrqos
- add hwsec_active flag to struct ieee80211_device - add hwsec_active flag to struct ieee80211_device
......
...@@ -170,7 +170,7 @@ struct ieee_ibss_seq { ...@@ -170,7 +170,7 @@ struct ieee_ibss_seq {
struct list_head list; struct list_head list;
}; };
struct ieee80211_hdr { struct ieee80211_hdr_4addr {
u16 frame_ctl; u16 frame_ctl;
u16 duration_id; u16 duration_id;
u8 addr1[ETH_ALEN]; u8 addr1[ETH_ALEN];
...@@ -1450,7 +1450,7 @@ extern void ieee80211_txb_free(struct ieee80211_txb *); ...@@ -1450,7 +1450,7 @@ extern void ieee80211_txb_free(struct ieee80211_txb *);
extern int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb, extern int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
struct ieee80211_rx_stats *rx_stats); struct ieee80211_rx_stats *rx_stats);
extern void ieee80211_rx_mgt(struct ieee80211_device *ieee, extern void ieee80211_rx_mgt(struct ieee80211_device *ieee,
struct ieee80211_hdr *header, struct ieee80211_hdr_4addr *header,
struct ieee80211_rx_stats *stats); struct ieee80211_rx_stats *stats);
/* ieee80211_wx.c */ /* ieee80211_wx.c */
......
...@@ -114,7 +114,7 @@ static inline void xor_block(u8 *b, u8 *a, size_t len) ...@@ -114,7 +114,7 @@ static inline void xor_block(u8 *b, u8 *a, size_t len)
} }
static void ccmp_init_blocks(struct crypto_tfm *tfm, static void ccmp_init_blocks(struct crypto_tfm *tfm,
struct ieee80211_hdr *hdr, struct ieee80211_hdr_4addr *hdr,
u8 *pn, size_t dlen, u8 *b0, u8 *auth, u8 *pn, size_t dlen, u8 *b0, u8 *auth,
u8 *s0) u8 *s0)
{ {
...@@ -196,7 +196,7 @@ static int ieee80211_ccmp_encrypt(struct sk_buff *skb, int hdr_len, void *priv) ...@@ -196,7 +196,7 @@ static int ieee80211_ccmp_encrypt(struct sk_buff *skb, int hdr_len, void *priv)
struct ieee80211_ccmp_data *key = priv; struct ieee80211_ccmp_data *key = priv;
int data_len, i; int data_len, i;
u8 *pos; u8 *pos;
struct ieee80211_hdr *hdr; struct ieee80211_hdr_4addr *hdr;
int blocks, last, len; int blocks, last, len;
u8 *mic; u8 *mic;
u8 *b0 = key->tx_b0; u8 *b0 = key->tx_b0;
...@@ -232,7 +232,7 @@ static int ieee80211_ccmp_encrypt(struct sk_buff *skb, int hdr_len, void *priv) ...@@ -232,7 +232,7 @@ static int ieee80211_ccmp_encrypt(struct sk_buff *skb, int hdr_len, void *priv)
*pos++ = key->tx_pn[1]; *pos++ = key->tx_pn[1];
*pos++ = key->tx_pn[0]; *pos++ = key->tx_pn[0];
hdr = (struct ieee80211_hdr *) skb->data; hdr = (struct ieee80211_hdr_4addr *)skb->data;
//mic is moved to here by john //mic is moved to here by john
mic = skb_put(skb, CCMP_MIC_LEN); mic = skb_put(skb, CCMP_MIC_LEN);
...@@ -265,7 +265,7 @@ static int ieee80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv) ...@@ -265,7 +265,7 @@ static int ieee80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
{ {
struct ieee80211_ccmp_data *key = priv; struct ieee80211_ccmp_data *key = priv;
u8 keyidx, *pos; u8 keyidx, *pos;
struct ieee80211_hdr *hdr; struct ieee80211_hdr_4addr *hdr;
u8 pn[6]; u8 pn[6];
size_t data_len = skb->len - hdr_len - CCMP_HDR_LEN - CCMP_MIC_LEN; size_t data_len = skb->len - hdr_len - CCMP_HDR_LEN - CCMP_MIC_LEN;
u8 *mic = skb->data + skb->len - CCMP_MIC_LEN; u8 *mic = skb->data + skb->len - CCMP_MIC_LEN;
...@@ -279,7 +279,7 @@ static int ieee80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv) ...@@ -279,7 +279,7 @@ static int ieee80211_ccmp_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
return -1; return -1;
} }
hdr = (struct ieee80211_hdr *) skb->data; hdr = (struct ieee80211_hdr_4addr *)skb->data;
pos = skb->data + hdr_len; pos = skb->data + hdr_len;
keyidx = pos[3]; keyidx = pos[3];
if (!(keyidx & (1 << 5))) { if (!(keyidx & (1 << 5))) {
......
...@@ -310,7 +310,7 @@ static int ieee80211_tkip_encrypt(struct sk_buff *skb, int hdr_len, void *priv) ...@@ -310,7 +310,7 @@ static int ieee80211_tkip_encrypt(struct sk_buff *skb, int hdr_len, void *priv)
struct blkcipher_desc desc = {.tfm = tkey->tx_tfm_arc4}; struct blkcipher_desc desc = {.tfm = tkey->tx_tfm_arc4};
int len; int len;
u8 *pos; u8 *pos;
struct ieee80211_hdr *hdr; struct ieee80211_hdr_4addr *hdr;
u8 rc4key[16],*icv; u8 rc4key[16],*icv;
u32 crc; u32 crc;
struct scatterlist sg; struct scatterlist sg;
...@@ -321,7 +321,7 @@ static int ieee80211_tkip_encrypt(struct sk_buff *skb, int hdr_len, void *priv) ...@@ -321,7 +321,7 @@ static int ieee80211_tkip_encrypt(struct sk_buff *skb, int hdr_len, void *priv)
skb->len < hdr_len) skb->len < hdr_len)
return -1; return -1;
hdr = (struct ieee80211_hdr *) skb->data; hdr = (struct ieee80211_hdr_4addr *)skb->data;
if (!tkey->tx_phase1_done) { if (!tkey->tx_phase1_done) {
tkip_mixing_phase1(tkey->tx_ttak, tkey->key, hdr->addr2, tkip_mixing_phase1(tkey->tx_ttak, tkey->key, hdr->addr2,
...@@ -369,7 +369,7 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv) ...@@ -369,7 +369,7 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
u8 keyidx, *pos; u8 keyidx, *pos;
u32 iv32; u32 iv32;
u16 iv16; u16 iv16;
struct ieee80211_hdr *hdr; struct ieee80211_hdr_4addr *hdr;
u8 icv[4]; u8 icv[4];
u32 crc; u32 crc;
struct scatterlist sg; struct scatterlist sg;
...@@ -379,7 +379,7 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv) ...@@ -379,7 +379,7 @@ static int ieee80211_tkip_decrypt(struct sk_buff *skb, int hdr_len, void *priv)
if (skb->len < hdr_len + 8 + 4) if (skb->len < hdr_len + 8 + 4)
return -1; return -1;
hdr = (struct ieee80211_hdr *) skb->data; hdr = (struct ieee80211_hdr_4addr *)skb->data;
pos = skb->data + hdr_len; pos = skb->data + hdr_len;
keyidx = pos[3]; keyidx = pos[3];
if (!(keyidx & (1 << 5))) { if (!(keyidx & (1 << 5))) {
...@@ -494,9 +494,9 @@ static int michael_mic(struct crypto_hash *tfm_michael, u8 * key, u8 * hdr, ...@@ -494,9 +494,9 @@ static int michael_mic(struct crypto_hash *tfm_michael, u8 * key, u8 * hdr,
static void michael_mic_hdr(struct sk_buff *skb, u8 *hdr) static void michael_mic_hdr(struct sk_buff *skb, u8 *hdr)
{ {
struct ieee80211_hdr *hdr11; struct ieee80211_hdr_4addr *hdr11;
hdr11 = (struct ieee80211_hdr *) skb->data; hdr11 = (struct ieee80211_hdr_4addr *)skb->data;
switch (le16_to_cpu(hdr11->frame_ctl) & switch (le16_to_cpu(hdr11->frame_ctl) &
(IEEE80211_FCTL_FROMDS | IEEE80211_FCTL_TODS)) { (IEEE80211_FCTL_FROMDS | IEEE80211_FCTL_TODS)) {
case IEEE80211_FCTL_TODS: case IEEE80211_FCTL_TODS:
...@@ -527,9 +527,9 @@ static int ieee80211_michael_mic_add(struct sk_buff *skb, int hdr_len, void *pri ...@@ -527,9 +527,9 @@ static int ieee80211_michael_mic_add(struct sk_buff *skb, int hdr_len, void *pri
{ {
struct ieee80211_tkip_data *tkey = priv; struct ieee80211_tkip_data *tkey = priv;
u8 *pos; u8 *pos;
struct ieee80211_hdr *hdr; struct ieee80211_hdr_4addr *hdr;
hdr = (struct ieee80211_hdr *) skb->data; hdr = (struct ieee80211_hdr_4addr *)skb->data;
if (skb_tailroom(skb) < 8 || skb->len < hdr_len) { if (skb_tailroom(skb) < 8 || skb->len < hdr_len) {
printk(KERN_DEBUG "Invalid packet for Michael MIC add " printk(KERN_DEBUG "Invalid packet for Michael MIC add "
...@@ -556,7 +556,7 @@ static int ieee80211_michael_mic_add(struct sk_buff *skb, int hdr_len, void *pri ...@@ -556,7 +556,7 @@ static int ieee80211_michael_mic_add(struct sk_buff *skb, int hdr_len, void *pri
} }
static void ieee80211_michael_mic_failure(struct net_device *dev, static void ieee80211_michael_mic_failure(struct net_device *dev,
struct ieee80211_hdr *hdr, struct ieee80211_hdr_4addr *hdr,
int keyidx) int keyidx)
{ {
union iwreq_data wrqu; union iwreq_data wrqu;
...@@ -581,9 +581,9 @@ static int ieee80211_michael_mic_verify(struct sk_buff *skb, int keyidx, ...@@ -581,9 +581,9 @@ static int ieee80211_michael_mic_verify(struct sk_buff *skb, int keyidx,
{ {
struct ieee80211_tkip_data *tkey = priv; struct ieee80211_tkip_data *tkey = priv;
u8 mic[8]; u8 mic[8];
struct ieee80211_hdr *hdr; struct ieee80211_hdr_4addr *hdr;
hdr = (struct ieee80211_hdr *) skb->data; hdr = (struct ieee80211_hdr_4addr *)skb->data;
if (!tkey->key_set) if (!tkey->key_set)
return -1; return -1;
...@@ -601,8 +601,8 @@ static int ieee80211_michael_mic_verify(struct sk_buff *skb, int keyidx, ...@@ -601,8 +601,8 @@ static int ieee80211_michael_mic_verify(struct sk_buff *skb, int keyidx,
return -1; return -1;
if (memcmp(mic, skb->data + skb->len - 8, 8) != 0) { if (memcmp(mic, skb->data + skb->len - 8, 8) != 0) {
struct ieee80211_hdr *hdr; struct ieee80211_hdr_4addr *hdr;
hdr = (struct ieee80211_hdr *) skb->data; hdr = (struct ieee80211_hdr_4addr *)skb->data;
printk(KERN_DEBUG "%s: Michael MIC verification failed for " printk(KERN_DEBUG "%s: Michael MIC verification failed for "
"MSDU from " MAC_FMT " keyidx=%d\n", "MSDU from " MAC_FMT " keyidx=%d\n",
skb->dev ? skb->dev->name : "N/A", MAC_ARG(hdr->addr2), skb->dev ? skb->dev->name : "N/A", MAC_ARG(hdr->addr2),
......
...@@ -49,7 +49,8 @@ static inline void ieee80211_monitor_rx(struct ieee80211_device *ieee, ...@@ -49,7 +49,8 @@ static inline void ieee80211_monitor_rx(struct ieee80211_device *ieee,
struct sk_buff *skb, struct sk_buff *skb,
struct ieee80211_rx_stats *rx_stats) struct ieee80211_rx_stats *rx_stats)
{ {
struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; struct ieee80211_hdr_4addr *hdr =
(struct ieee80211_hdr_4addr *)skb->data;
u16 fc = le16_to_cpu(hdr->frame_ctl); u16 fc = le16_to_cpu(hdr->frame_ctl);
skb->dev = ieee->dev; skb->dev = ieee->dev;
...@@ -95,7 +96,7 @@ ieee80211_frag_cache_find(struct ieee80211_device *ieee, unsigned int seq, ...@@ -95,7 +96,7 @@ ieee80211_frag_cache_find(struct ieee80211_device *ieee, unsigned int seq,
/* Called only as a tasklet (software IRQ) */ /* Called only as a tasklet (software IRQ) */
static struct sk_buff * static struct sk_buff *
ieee80211_frag_cache_get(struct ieee80211_device *ieee, ieee80211_frag_cache_get(struct ieee80211_device *ieee,
struct ieee80211_hdr *hdr) struct ieee80211_hdr_4addr *hdr)
{ {
struct sk_buff *skb = NULL; struct sk_buff *skb = NULL;
u16 fc = le16_to_cpu(hdr->frame_ctl); u16 fc = le16_to_cpu(hdr->frame_ctl);
...@@ -124,7 +125,7 @@ ieee80211_frag_cache_get(struct ieee80211_device *ieee, ...@@ -124,7 +125,7 @@ ieee80211_frag_cache_get(struct ieee80211_device *ieee,
if (frag == 0) { if (frag == 0) {
/* Reserve enough space to fit maximum frame length */ /* Reserve enough space to fit maximum frame length */
skb = dev_alloc_skb(ieee->dev->mtu + skb = dev_alloc_skb(ieee->dev->mtu +
sizeof(struct ieee80211_hdr) + sizeof(struct ieee80211_hdr_4addr) +
8 /* LLC */ + 8 /* LLC */ +
2 /* alignment */ + 2 /* alignment */ +
8 /* WEP */ + 8 /* WEP */ +
...@@ -164,7 +165,7 @@ ieee80211_frag_cache_get(struct ieee80211_device *ieee, ...@@ -164,7 +165,7 @@ ieee80211_frag_cache_get(struct ieee80211_device *ieee,
/* Called only as a tasklet (software IRQ) */ /* Called only as a tasklet (software IRQ) */
static int ieee80211_frag_cache_invalidate(struct ieee80211_device *ieee, static int ieee80211_frag_cache_invalidate(struct ieee80211_device *ieee,
struct ieee80211_hdr *hdr) struct ieee80211_hdr_4addr *hdr)
{ {
u16 fc = le16_to_cpu(hdr->frame_ctl); u16 fc = le16_to_cpu(hdr->frame_ctl);
u16 sc = le16_to_cpu(hdr->seq_ctl); u16 sc = le16_to_cpu(hdr->seq_ctl);
...@@ -214,17 +215,18 @@ ieee80211_rx_frame_mgmt(struct ieee80211_device *ieee, struct sk_buff *skb, ...@@ -214,17 +215,18 @@ ieee80211_rx_frame_mgmt(struct ieee80211_device *ieee, struct sk_buff *skb,
struct ieee80211_rx_stats *rx_stats, u16 type, struct ieee80211_rx_stats *rx_stats, u16 type,
u16 stype) u16 stype)
{ {
struct ieee80211_hdr *hdr; struct ieee80211_hdr_4addr *hdr;
// cheat the the hdr type // cheat the the hdr type
hdr = (struct ieee80211_hdr *)skb->data; hdr = (struct ieee80211_hdr_4addr *)skb->data;
/* On the struct stats definition there is written that /* On the struct stats definition there is written that
* this is not mandatory.... but seems that the probe * this is not mandatory.... but seems that the probe
* response parser uses it * response parser uses it
*/ */
rx_stats->len = skb->len; rx_stats->len = skb->len;
ieee80211_rx_mgt(ieee,(struct ieee80211_hdr *)skb->data,rx_stats); ieee80211_rx_mgt(ieee, (struct ieee80211_hdr_4addr *)skb->data,
rx_stats);
if((ieee->state == IEEE80211_LINKED)&&(memcmp(hdr->addr3,ieee->current_network.bssid,ETH_ALEN))) { if((ieee->state == IEEE80211_LINKED)&&(memcmp(hdr->addr3,ieee->current_network.bssid,ETH_ALEN))) {
dev_kfree_skb_any(skb); dev_kfree_skb_any(skb);
...@@ -256,13 +258,13 @@ static int ieee80211_is_eapol_frame(struct ieee80211_device *ieee, ...@@ -256,13 +258,13 @@ static int ieee80211_is_eapol_frame(struct ieee80211_device *ieee,
{ {
struct net_device *dev = ieee->dev; struct net_device *dev = ieee->dev;
u16 fc, ethertype; u16 fc, ethertype;
struct ieee80211_hdr *hdr; struct ieee80211_hdr_4addr *hdr;
u8 *pos; u8 *pos;
if (skb->len < 24) if (skb->len < 24)
return 0; return 0;
hdr = (struct ieee80211_hdr *) skb->data; hdr = (struct ieee80211_hdr_4addr *)skb->data;
fc = le16_to_cpu(hdr->frame_ctl); fc = le16_to_cpu(hdr->frame_ctl);
/* check that the frame is unicast frame to us */ /* check that the frame is unicast frame to us */
...@@ -296,13 +298,13 @@ static inline int ...@@ -296,13 +298,13 @@ static inline int
ieee80211_rx_frame_decrypt(struct ieee80211_device* ieee, struct sk_buff *skb, ieee80211_rx_frame_decrypt(struct ieee80211_device* ieee, struct sk_buff *skb,
struct ieee80211_crypt_data *crypt) struct ieee80211_crypt_data *crypt)
{ {
struct ieee80211_hdr *hdr; struct ieee80211_hdr_4addr *hdr;
int res, hdrlen; int res, hdrlen;
if (crypt == NULL || crypt->ops->decrypt_mpdu == NULL) if (crypt == NULL || crypt->ops->decrypt_mpdu == NULL)
return 0; return 0;
hdr = (struct ieee80211_hdr *) skb->data; hdr = (struct ieee80211_hdr_4addr *)skb->data;
hdrlen = ieee80211_get_hdrlen(le16_to_cpu(hdr->frame_ctl)); hdrlen = ieee80211_get_hdrlen(le16_to_cpu(hdr->frame_ctl));
#ifdef CONFIG_IEEE80211_CRYPT_TKIP #ifdef CONFIG_IEEE80211_CRYPT_TKIP
...@@ -341,13 +343,13 @@ static inline int ...@@ -341,13 +343,13 @@ static inline int
ieee80211_rx_frame_decrypt_msdu(struct ieee80211_device* ieee, struct sk_buff *skb, ieee80211_rx_frame_decrypt_msdu(struct ieee80211_device* ieee, struct sk_buff *skb,
int keyidx, struct ieee80211_crypt_data *crypt) int keyidx, struct ieee80211_crypt_data *crypt)
{ {
struct ieee80211_hdr *hdr; struct ieee80211_hdr_4addr *hdr;
int res, hdrlen; int res, hdrlen;
if (crypt == NULL || crypt->ops->decrypt_msdu == NULL) if (crypt == NULL || crypt->ops->decrypt_msdu == NULL)
return 0; return 0;
hdr = (struct ieee80211_hdr *) skb->data; hdr = (struct ieee80211_hdr_4addr *)skb->data;
hdrlen = ieee80211_get_hdrlen(le16_to_cpu(hdr->frame_ctl)); hdrlen = ieee80211_get_hdrlen(le16_to_cpu(hdr->frame_ctl));
atomic_inc(&crypt->refcnt); atomic_inc(&crypt->refcnt);
...@@ -367,7 +369,7 @@ ieee80211_rx_frame_decrypt_msdu(struct ieee80211_device* ieee, struct sk_buff *s ...@@ -367,7 +369,7 @@ ieee80211_rx_frame_decrypt_msdu(struct ieee80211_device* ieee, struct sk_buff *s
/* this function is stolen from ipw2200 driver*/ /* this function is stolen from ipw2200 driver*/
#define IEEE_PACKET_RETRY_TIME (5*HZ) #define IEEE_PACKET_RETRY_TIME (5*HZ)
static int is_duplicate_packet(struct ieee80211_device *ieee, static int is_duplicate_packet(struct ieee80211_device *ieee,
struct ieee80211_hdr *header) struct ieee80211_hdr_4addr *header)
{ {
u16 fc = le16_to_cpu(header->frame_ctl); u16 fc = le16_to_cpu(header->frame_ctl);
u16 sc = le16_to_cpu(header->seq_ctl); u16 sc = le16_to_cpu(header->seq_ctl);
...@@ -473,7 +475,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb, ...@@ -473,7 +475,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
{ {
struct net_device *dev = ieee->dev; struct net_device *dev = ieee->dev;
//struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev); //struct r8180_priv *priv = (struct r8180_priv *)ieee80211_priv(dev);
struct ieee80211_hdr *hdr; struct ieee80211_hdr_4addr *hdr;
//struct ieee80211_hdr_3addr_QOS *hdr; //struct ieee80211_hdr_3addr_QOS *hdr;
size_t hdrlen; size_t hdrlen;
...@@ -490,7 +492,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb, ...@@ -490,7 +492,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
int keyidx = 0; int keyidx = 0;
// cheat the the hdr type // cheat the the hdr type
hdr = (struct ieee80211_hdr *)skb->data; hdr = (struct ieee80211_hdr_4addr *)skb->data;
stats = &ieee->stats; stats = &ieee->stats;
if (skb->len < 10) { if (skb->len < 10) {
...@@ -631,7 +633,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb, ...@@ -631,7 +633,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
(keyidx = ieee80211_rx_frame_decrypt(ieee, skb, crypt)) < 0) (keyidx = ieee80211_rx_frame_decrypt(ieee, skb, crypt)) < 0)
goto rx_dropped; goto rx_dropped;
hdr = (struct ieee80211_hdr *) skb->data; hdr = (struct ieee80211_hdr_4addr *)skb->data;
/* skb: hdr + (possibly fragmented) plaintext payload */ /* skb: hdr + (possibly fragmented) plaintext payload */
// PR: FIXME: hostap has additional conditions in the "if" below: // PR: FIXME: hostap has additional conditions in the "if" below:
...@@ -684,7 +686,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb, ...@@ -684,7 +686,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
/* this was the last fragment and the frame will be /* this was the last fragment and the frame will be
* delivered, so remove skb from fragment cache */ * delivered, so remove skb from fragment cache */
skb = frag_skb; skb = frag_skb;
hdr = (struct ieee80211_hdr *) skb->data; hdr = (struct ieee80211_hdr_4addr *)skb->data;
ieee80211_frag_cache_invalidate(ieee, hdr); ieee80211_frag_cache_invalidate(ieee, hdr);
} }
...@@ -694,7 +696,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb, ...@@ -694,7 +696,7 @@ int ieee80211_rx(struct ieee80211_device *ieee, struct sk_buff *skb,
ieee80211_rx_frame_decrypt_msdu(ieee, skb, keyidx, crypt)) ieee80211_rx_frame_decrypt_msdu(ieee, skb, keyidx, crypt))
goto rx_dropped; goto rx_dropped;
hdr = (struct ieee80211_hdr *) skb->data; hdr = (struct ieee80211_hdr_4addr *)skb->data;
if (crypt && !(fc & IEEE80211_FCTL_WEP) && !ieee->open_wep) { if (crypt && !(fc & IEEE80211_FCTL_WEP) && !ieee->open_wep) {
if (/*ieee->ieee802_1x &&*/ if (/*ieee->ieee802_1x &&*/
ieee80211_is_eapol_frame(ieee, skb, hdrlen)) { ieee80211_is_eapol_frame(ieee, skb, hdrlen)) {
...@@ -1525,7 +1527,7 @@ inline void ieee80211_process_probe_response( ...@@ -1525,7 +1527,7 @@ inline void ieee80211_process_probe_response(
} }
void ieee80211_rx_mgt(struct ieee80211_device *ieee, void ieee80211_rx_mgt(struct ieee80211_device *ieee,
struct ieee80211_hdr *header, struct ieee80211_hdr_4addr *header,
struct ieee80211_rx_stats *stats) struct ieee80211_rx_stats *stats)
{ {
switch (WLAN_FC_GET_STYPE(header->frame_ctl)) { switch (WLAN_FC_GET_STYPE(header->frame_ctl)) {
......
...@@ -192,11 +192,11 @@ int ieee80211_encrypt_fragment( ...@@ -192,11 +192,11 @@ int ieee80211_encrypt_fragment(
return -1; return -1;
#ifdef CONFIG_IEEE80211_CRYPT_TKIP #ifdef CONFIG_IEEE80211_CRYPT_TKIP
struct ieee80211_hdr *header; struct ieee80211_hdr_4addr *header;
if (ieee->tkip_countermeasures && if (ieee->tkip_countermeasures &&
crypt && crypt->ops && strcmp(crypt->ops->name, "TKIP") == 0) { crypt && crypt->ops && strcmp(crypt->ops->name, "TKIP") == 0) {
header = (struct ieee80211_hdr *) frag->data; header = (struct ieee80211_hdr_4addr *)frag->data;
if (net_ratelimit()) { if (net_ratelimit()) {
printk(KERN_DEBUG "%s: TKIP countermeasures: dropped " printk(KERN_DEBUG "%s: TKIP countermeasures: dropped "
"TX packet to " MAC_FMT "\n", "TX packet to " MAC_FMT "\n",
...@@ -317,10 +317,6 @@ int ieee80211_xmit(struct sk_buff *skb, ...@@ -317,10 +317,6 @@ int ieee80211_xmit(struct sk_buff *skb,
int ether_type, encrypt; int ether_type, encrypt;
int bytes, fc, QOS_ctl, hdr_len; int bytes, fc, QOS_ctl, hdr_len;
struct sk_buff *skb_frag; struct sk_buff *skb_frag;
//struct ieee80211_hdr header = { /* Ensure zero initialized */
// .duration_id = 0,
// .seq_ctl = 0
//};
struct ieee80211_hdr_3addr_QOS header = { /* Ensure zero initialized */ struct ieee80211_hdr_3addr_QOS header = { /* Ensure zero initialized */
.duration_id = 0, .duration_id = 0,
.seq_ctl = 0, .seq_ctl = 0,
......
...@@ -1540,7 +1540,7 @@ void rtl8180_rx(struct net_device *dev) ...@@ -1540,7 +1540,7 @@ void rtl8180_rx(struct net_device *dev)
u8 LNA=0, BB=0; u8 LNA=0, BB=0;
u8 LNA_gain[4]={02, 17, 29, 39}; u8 LNA_gain[4]={02, 17, 29, 39};
u8 Antenna = 0; u8 Antenna = 0;
struct ieee80211_hdr *hdr; struct ieee80211_hdr_4addr *hdr;
u16 fc,type; u16 fc,type;
u8 bHwError = 0,bCRC = 0,bICV = 0; u8 bHwError = 0,bCRC = 0,bICV = 0;
bool bCckRate = false; bool bCckRate = false;
...@@ -1736,7 +1736,7 @@ void rtl8180_rx(struct net_device *dev) ...@@ -1736,7 +1736,7 @@ void rtl8180_rx(struct net_device *dev)
| (((*(priv->rxringtail))& (0x08000000)) != 0 )| (((~(*(priv->rxringtail)))& (0x10000000)) != 0 )| (((~(*(priv->rxringtail)))& (0x20000000)) != 0 ); | (((*(priv->rxringtail))& (0x08000000)) != 0 )| (((~(*(priv->rxringtail)))& (0x10000000)) != 0 )| (((~(*(priv->rxringtail)))& (0x20000000)) != 0 );
bCRC = ((*(priv->rxringtail)) & (0x00002000)) >> 13; bCRC = ((*(priv->rxringtail)) & (0x00002000)) >> 13;
bICV = ((*(priv->rxringtail)) & (0x00001000)) >> 12; bICV = ((*(priv->rxringtail)) & (0x00001000)) >> 12;
hdr = (struct ieee80211_hdr *)priv->rxbuffer->buf; hdr = (struct ieee80211_hdr_4addr *)priv->rxbuffer->buf;
fc = le16_to_cpu(hdr->frame_ctl); fc = le16_to_cpu(hdr->frame_ctl);
type = WLAN_FC_GET_TYPE(fc); type = WLAN_FC_GET_TYPE(fc);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment