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 31cfe468e3fc..2dab64bb23a8 100644 --- a/drivers/net/wireless/ath/ath9k/common.c +++ b/drivers/net/wireless/ath/ath9k/common.c | |||
@@ -372,9 +372,13 @@ int ath9k_cmn_key_config(struct ath_common *common, | |||
372 | set_bit(idx, common->keymap); | 372 | set_bit(idx, common->keymap); |
373 | if (key->cipher == WLAN_CIPHER_SUITE_TKIP) { | 373 | if (key->cipher == WLAN_CIPHER_SUITE_TKIP) { |
374 | set_bit(idx + 64, common->keymap); | 374 | set_bit(idx + 64, common->keymap); |
375 | set_bit(idx, common->tkip_keymap); | ||
376 | set_bit(idx + 64, common->tkip_keymap); | ||
375 | if (common->splitmic) { | 377 | if (common->splitmic) { |
376 | set_bit(idx + 32, common->keymap); | 378 | set_bit(idx + 32, common->keymap); |
377 | set_bit(idx + 64 + 32, common->keymap); | 379 | set_bit(idx + 64 + 32, common->keymap); |
380 | set_bit(idx + 32, common->tkip_keymap); | ||
381 | set_bit(idx + 64 + 32, common->tkip_keymap); | ||
378 | } | 382 | } |
379 | } | 383 | } |
380 | 384 | ||
@@ -399,10 +403,17 @@ void ath9k_cmn_key_delete(struct ath_common *common, | |||
399 | return; | 403 | return; |
400 | 404 | ||
401 | clear_bit(key->hw_key_idx + 64, common->keymap); | 405 | clear_bit(key->hw_key_idx + 64, common->keymap); |
406 | |||
407 | clear_bit(key->hw_key_idx, common->tkip_keymap); | ||
408 | clear_bit(key->hw_key_idx + 64, common->tkip_keymap); | ||
409 | |||
402 | if (common->splitmic) { | 410 | if (common->splitmic) { |
403 | ath9k_hw_keyreset(ah, key->hw_key_idx + 32); | 411 | ath9k_hw_keyreset(ah, key->hw_key_idx + 32); |
404 | clear_bit(key->hw_key_idx + 32, common->keymap); | 412 | clear_bit(key->hw_key_idx + 32, common->keymap); |
405 | clear_bit(key->hw_key_idx + 64 + 32, common->keymap); | 413 | clear_bit(key->hw_key_idx + 64 + 32, common->keymap); |
414 | |||
415 | clear_bit(key->hw_key_idx + 32, common->tkip_keymap); | ||
416 | clear_bit(key->hw_key_idx + 64 + 32, common->tkip_keymap); | ||
406 | } | 417 | } |
407 | } | 418 | } |
408 | EXPORT_SYMBOL(ath9k_cmn_key_delete); | 419 | EXPORT_SYMBOL(ath9k_cmn_key_delete); |