]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - net/mac80211/wep.c
Merge branches 'topic/fix/hda' and 'topic/fix/misc' into for-linus
[linux-2.6-omap-h63xx.git] / net / mac80211 / wep.c
index 639998775b48e62fbf6929560bceadf93c1872b2..f0e2d3ecb5c49d5ca1ac6b8752c67bcf48a2350d 100644 (file)
@@ -291,9 +291,10 @@ u8 * ieee80211_wep_is_weak_iv(struct sk_buff *skb, struct ieee80211_key *key)
 ieee80211_rx_result
 ieee80211_crypto_wep_decrypt(struct ieee80211_rx_data *rx)
 {
-       if ((rx->fc & IEEE80211_FCTL_FTYPE) != IEEE80211_FTYPE_DATA &&
-           ((rx->fc & IEEE80211_FCTL_FTYPE) != IEEE80211_FTYPE_MGMT ||
-            (rx->fc & IEEE80211_FCTL_STYPE) != IEEE80211_STYPE_AUTH))
+       struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)rx->skb->data;
+
+       if (!ieee80211_is_data(hdr->frame_control) &&
+           !ieee80211_is_auth(hdr->frame_control))
                return RX_CONTINUE;
 
        if (!(rx->status->flag & RX_FLAG_DECRYPTED)) {
@@ -312,9 +313,6 @@ static int wep_encrypt_skb(struct ieee80211_tx_data *tx, struct sk_buff *skb)
 {
        struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
 
-       info->control.iv_len = WEP_IV_LEN;
-       info->control.icv_len = WEP_ICV_LEN;
-
        if (!(tx->key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE)) {
                if (ieee80211_wep_encrypt(tx->local, skb, tx->key))
                        return -1;