]> Pileus Git - ~andy/linux/blobdiff - net/mac80211/wep.c
mac80211: move control.hw_key assignment
[~andy/linux] / net / mac80211 / wep.c
index 247123fe1a7a6307aa41a7fea01a7378ccec53e3..0a4c641c960537c8a93ec3190927c3f484969490 100644 (file)
@@ -305,20 +305,20 @@ static int wep_encrypt_skb(struct ieee80211_tx_data *tx, struct sk_buff *skb)
 {
        struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
 
-       if (!(tx->key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE)) {
+       if (!info->control.hw_key) {
                if (ieee80211_wep_encrypt(tx->local, skb, tx->key->conf.key,
                                          tx->key->conf.keylen,
                                          tx->key->conf.keyidx))
                        return -1;
-       } else {
-               info->control.hw_key = &tx->key->conf;
-               if (tx->key->conf.flags & IEEE80211_KEY_FLAG_GENERATE_IV) {
-                       if (!ieee80211_wep_add_iv(tx->local, skb,
-                                                 tx->key->conf.keylen,
-                                                 tx->key->conf.keyidx))
-                               return -1;
-               }
        }
+
+       if (info->control.hw_key->flags & IEEE80211_KEY_FLAG_GENERATE_IV) {
+               if (!ieee80211_wep_add_iv(tx->local, skb,
+                                         tx->key->conf.keylen,
+                                         tx->key->conf.keyidx))
+                       return -1;
+       }
+
        return 0;
 }