]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/mac80211/wep.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6
[karo-tx-linux.git] / net / mac80211 / wep.c
index 7043ddc75498f0f952586c58d4f4371d13984007..ef73105b306134ba5fff1cbb8624b6a02100f21d 100644 (file)
@@ -329,24 +329,17 @@ static int wep_encrypt_skb(struct ieee80211_tx_data *tx, struct sk_buff *skb)
 ieee80211_tx_result
 ieee80211_crypto_wep_encrypt(struct ieee80211_tx_data *tx)
 {
-       int i;
+       struct sk_buff *skb;
 
        ieee80211_tx_set_protected(tx);
 
-       if (wep_encrypt_skb(tx, tx->skb) < 0) {
-               I802_DEBUG_INC(tx->local->tx_handlers_drop_wep);
-               return TX_DROP;
-       }
-
-       if (tx->extra_frag) {
-               for (i = 0; i < tx->num_extra_frag; i++) {
-                       if (wep_encrypt_skb(tx, tx->extra_frag[i])) {
-                               I802_DEBUG_INC(tx->local->
-                                              tx_handlers_drop_wep);
-                               return TX_DROP;
-                       }
+       skb = tx->skb;
+       do {
+               if (wep_encrypt_skb(tx, skb) < 0) {
+                       I802_DEBUG_INC(tx->local->tx_handlers_drop_wep);
+                       return TX_DROP;
                }
-       }
+       } while ((skb = skb->next));
 
        return TX_CONTINUE;
 }