diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/common.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/common.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/common.c b/drivers/net/wireless/ath/ath9k/common.c index c86f7d3593ab..108b43369f7c 100644 --- a/drivers/net/wireless/ath/ath9k/common.c +++ b/drivers/net/wireless/ath/ath9k/common.c | |||
@@ -366,9 +366,13 @@ int ath9k_cmn_key_config(struct ath_common *common, | |||
366 | set_bit(idx, common->keymap); | 366 | set_bit(idx, common->keymap); |
367 | if (key->alg == ALG_TKIP) { | 367 | if (key->alg == ALG_TKIP) { |
368 | set_bit(idx + 64, common->keymap); | 368 | set_bit(idx + 64, common->keymap); |
369 | set_bit(idx, common->tkip_keymap); | ||
370 | set_bit(idx + 64, common->tkip_keymap); | ||
369 | if (common->splitmic) { | 371 | if (common->splitmic) { |
370 | set_bit(idx + 32, common->keymap); | 372 | set_bit(idx + 32, common->keymap); |
371 | set_bit(idx + 64 + 32, common->keymap); | 373 | set_bit(idx + 64 + 32, common->keymap); |
374 | set_bit(idx + 32, common->tkip_keymap); | ||
375 | set_bit(idx + 64 + 32, common->tkip_keymap); | ||
372 | } | 376 | } |
373 | } | 377 | } |
374 | 378 | ||
@@ -393,10 +397,17 @@ void ath9k_cmn_key_delete(struct ath_common *common, | |||
393 | return; | 397 | return; |
394 | 398 | ||
395 | clear_bit(key->hw_key_idx + 64, common->keymap); | 399 | clear_bit(key->hw_key_idx + 64, common->keymap); |
400 | |||
401 | clear_bit(key->hw_key_idx, common->tkip_keymap); | ||
402 | clear_bit(key->hw_key_idx + 64, common->tkip_keymap); | ||
403 | |||
396 | if (common->splitmic) { | 404 | if (common->splitmic) { |
397 | ath9k_hw_keyreset(ah, key->hw_key_idx + 32); | 405 | ath9k_hw_keyreset(ah, key->hw_key_idx + 32); |
398 | clear_bit(key->hw_key_idx + 32, common->keymap); | 406 | clear_bit(key->hw_key_idx + 32, common->keymap); |
399 | clear_bit(key->hw_key_idx + 64 + 32, common->keymap); | 407 | clear_bit(key->hw_key_idx + 64 + 32, common->keymap); |
408 | |||
409 | clear_bit(key->hw_key_idx + 32, common->tkip_keymap); | ||
410 | clear_bit(key->hw_key_idx + 64 + 32, common->tkip_keymap); | ||
400 | } | 411 | } |
401 | } | 412 | } |
402 | EXPORT_SYMBOL(ath9k_cmn_key_delete); | 413 | EXPORT_SYMBOL(ath9k_cmn_key_delete); |