diff options
author | Bob Copeland <me@bobcopeland.com> | 2008-10-29 23:19:14 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-11-10 15:17:33 -0500 |
commit | 3f64b435ab76e79bfb3b4d36f043e6f892093b71 (patch) | |
tree | 44d68068b59f54e54288d1ccab30783b7c661ffb /drivers/net/wireless/ath5k/base.c | |
parent | 9ad9a26e7b7b6671a9aefbb1edb2e8a9ed50ee8d (diff) |
ath5k: update keycache to support TKIP handling
Newer parts have slots at entry+64 for michael mic and can do WPA-TKIP
in hardware. The open-sourced Atheros HAL has code for accessing this
portion so now we know how where to put the key material.
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Acked-by: Nick Kossifidis <mickflemm@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath5k/base.c')
-rw-r--r-- | drivers/net/wireless/ath5k/base.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath5k/base.c b/drivers/net/wireless/ath5k/base.c index 4bf3678529b8..c7ffcbb9062d 100644 --- a/drivers/net/wireless/ath5k/base.c +++ b/drivers/net/wireless/ath5k/base.c | |||
@@ -2983,8 +2983,8 @@ ath5k_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, | |||
2983 | 2983 | ||
2984 | switch (key->alg) { | 2984 | switch (key->alg) { |
2985 | case ALG_WEP: | 2985 | case ALG_WEP: |
2986 | break; | ||
2987 | case ALG_TKIP: | 2986 | case ALG_TKIP: |
2987 | break; | ||
2988 | case ALG_CCMP: | 2988 | case ALG_CCMP: |
2989 | return -EOPNOTSUPP; | 2989 | return -EOPNOTSUPP; |
2990 | default: | 2990 | default: |
@@ -3003,7 +3003,8 @@ ath5k_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, | |||
3003 | } | 3003 | } |
3004 | __set_bit(key->keyidx, sc->keymap); | 3004 | __set_bit(key->keyidx, sc->keymap); |
3005 | key->hw_key_idx = key->keyidx; | 3005 | key->hw_key_idx = key->keyidx; |
3006 | key->flags |= IEEE80211_KEY_FLAG_GENERATE_IV; | 3006 | key->flags |= (IEEE80211_KEY_FLAG_GENERATE_IV | |
3007 | IEEE80211_KEY_FLAG_GENERATE_MMIC); | ||
3007 | break; | 3008 | break; |
3008 | case DISABLE_KEY: | 3009 | case DISABLE_KEY: |
3009 | ath5k_hw_reset_key(sc->ah, key->keyidx); | 3010 | ath5k_hw_reset_key(sc->ah, key->keyidx); |