diff options
author | Johannes Berg <johannes.berg@intel.com> | 2011-11-16 09:28:55 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-11-21 16:20:42 -0500 |
commit | 252b86c43225d067468dd182e9ae616ad2532bc8 (patch) | |
tree | d584ef11ebd143960c1890e361a89653fb9812c9 /net/mac80211/wep.c | |
parent | 83c76570961573e56a238d84ba18f2581ef1e6b5 (diff) |
mac80211: use skb list for fragments
We are currently linking the skbs by using skb->next
directly. This works, but the preferred way is to use
a struct sk_buff_head instead. That also prepares for
passing that to drivers directly.
While at it I noticed we calculate the duration for
fragments twice -- remove one of them.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211/wep.c')
-rw-r--r-- | net/mac80211/wep.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/net/mac80211/wep.c b/net/mac80211/wep.c index a1c6bfd55f0f..68ad351479df 100644 --- a/net/mac80211/wep.c +++ b/net/mac80211/wep.c | |||
@@ -330,13 +330,12 @@ ieee80211_crypto_wep_encrypt(struct ieee80211_tx_data *tx) | |||
330 | 330 | ||
331 | ieee80211_tx_set_protected(tx); | 331 | ieee80211_tx_set_protected(tx); |
332 | 332 | ||
333 | skb = tx->skb; | 333 | skb_queue_walk(&tx->skbs, skb) { |
334 | do { | ||
335 | if (wep_encrypt_skb(tx, skb) < 0) { | 334 | if (wep_encrypt_skb(tx, skb) < 0) { |
336 | I802_DEBUG_INC(tx->local->tx_handlers_drop_wep); | 335 | I802_DEBUG_INC(tx->local->tx_handlers_drop_wep); |
337 | return TX_DROP; | 336 | return TX_DROP; |
338 | } | 337 | } |
339 | } while ((skb = skb->next)); | 338 | } |
340 | 339 | ||
341 | return TX_CONTINUE; | 340 | return TX_CONTINUE; |
342 | } | 341 | } |