diff options
author | Ming Lei <tom.leiming@gmail.com> | 2010-02-06 09:38:23 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-03-15 12:05:58 -0400 |
commit | a7ca19cde1d0a1fa9613be3d54dcd65e8ec47904 (patch) | |
tree | fc36bea112d23679a6e424620aa77f01f834b321 /drivers/net | |
parent | 42a89b24c741d42fbd72c9f9b390b588ad01cf6c (diff) |
ath9k: fix keycache leak in split tkip case
commit 733da37dab72de6b3f8b0c56b5cdea322f18a684 upstream.
If split tkip key is used, ath_delete_key should delete
rx key and rx mic key. This patch fixes the leak of hw
keycache in the case.
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/main.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index 643bea35686f..aebaa0af008a 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c | |||
@@ -928,6 +928,7 @@ static void ath_key_delete(struct ath_common *common, struct ieee80211_key_conf | |||
928 | 928 | ||
929 | clear_bit(key->hw_key_idx + 64, common->keymap); | 929 | clear_bit(key->hw_key_idx + 64, common->keymap); |
930 | if (common->splitmic) { | 930 | if (common->splitmic) { |
931 | ath9k_hw_keyreset(ah, key->hw_key_idx + 32); | ||
931 | clear_bit(key->hw_key_idx + 32, common->keymap); | 932 | clear_bit(key->hw_key_idx + 32, common->keymap); |
932 | clear_bit(key->hw_key_idx + 64 + 32, common->keymap); | 933 | clear_bit(key->hw_key_idx + 64 + 32, common->keymap); |
933 | } | 934 | } |