diff options
author | Johannes Berg <johannes@sipsolutions.net> | 2007-09-14 11:10:25 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:49:30 -0400 |
commit | c39e3a0d0380b12f45bf85a619d3df45e437ee45 (patch) | |
tree | 93e0679f0fa426c4282c15135b3bbec3f2cc1f0b /net/mac80211/wpa.c | |
parent | 6a7664d451e7014b1a6828e50ccb3308d0b84816 (diff) |
[MAC80211]: remove TKIP mixing for hw accel again
The TKIP mixing code was added for the benefit of Intel's ipw3945
chipset but that code ended up not using it. We have previously
identified many problems with this code and it crystallized that
library functions for mixing are likely to handle this in much
more generality and might allow b43 to take advantage of hardware
acceleration for TKIP.
Due to these reasons, remove the TKIP mixing for hardware
accelerated crypto operations.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Michael Buesch <mb@bu3sch.de>
Acked-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/mac80211/wpa.c')
-rw-r--r-- | net/mac80211/wpa.c | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/net/mac80211/wpa.c b/net/mac80211/wpa.c index a23531cef5b0..6e12638054aa 100644 --- a/net/mac80211/wpa.c +++ b/net/mac80211/wpa.c | |||
@@ -214,7 +214,6 @@ static int tkip_encrypt_skb(struct ieee80211_txrx_data *tx, | |||
214 | key->u.tkip.iv32++; | 214 | key->u.tkip.iv32++; |
215 | 215 | ||
216 | if (tx->key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE) { | 216 | if (tx->key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE) { |
217 | u32 flags = tx->local->hw.flags; | ||
218 | hdr = (struct ieee80211_hdr *)skb->data; | 217 | hdr = (struct ieee80211_hdr *)skb->data; |
219 | 218 | ||
220 | /* hwaccel - with preallocated room for IV */ | 219 | /* hwaccel - with preallocated room for IV */ |
@@ -224,22 +223,6 @@ static int tkip_encrypt_skb(struct ieee80211_txrx_data *tx, | |||
224 | 0x7f), | 223 | 0x7f), |
225 | (u8) key->u.tkip.iv16); | 224 | (u8) key->u.tkip.iv16); |
226 | 225 | ||
227 | if (flags & IEEE80211_HW_TKIP_REQ_PHASE2_KEY) | ||
228 | ieee80211_tkip_gen_rc4key(key, hdr->addr2, | ||
229 | tx->u.tx.control->tkip_key); | ||
230 | else if (flags & IEEE80211_HW_TKIP_REQ_PHASE1_KEY) { | ||
231 | if (key->u.tkip.iv16 == 0 || | ||
232 | !key->u.tkip.tx_initialized) { | ||
233 | ieee80211_tkip_gen_phase1key(key, hdr->addr2, | ||
234 | (u16 *)tx->u.tx.control->tkip_key); | ||
235 | key->u.tkip.tx_initialized = 1; | ||
236 | tx->u.tx.control->flags |= | ||
237 | IEEE80211_TXCTL_TKIP_NEW_PHASE1_KEY; | ||
238 | } else | ||
239 | tx->u.tx.control->flags &= | ||
240 | ~IEEE80211_TXCTL_TKIP_NEW_PHASE1_KEY; | ||
241 | } | ||
242 | |||
243 | tx->u.tx.control->key_idx = tx->key->conf.hw_key_idx; | 226 | tx->u.tx.control->key_idx = tx->key->conf.hw_key_idx; |
244 | return 0; | 227 | return 0; |
245 | } | 228 | } |