提交 dc1e001b 编写于 作者: L Luis R. Rodriguez 提交者: John W. Linville

ath5k: use the common->keymap

Signed-off-by: NLuis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 7e86c104
...@@ -1683,6 +1683,8 @@ static unsigned int ...@@ -1683,6 +1683,8 @@ static unsigned int
ath5k_rx_decrypted(struct ath5k_softc *sc, struct ath5k_desc *ds, ath5k_rx_decrypted(struct ath5k_softc *sc, struct ath5k_desc *ds,
struct sk_buff *skb, struct ath5k_rx_status *rs) struct sk_buff *skb, struct ath5k_rx_status *rs)
{ {
struct ath5k_hw *ah = sc->ah;
struct ath_common *common = ath5k_hw_common(ah);
struct ieee80211_hdr *hdr = (void *)skb->data; struct ieee80211_hdr *hdr = (void *)skb->data;
unsigned int keyix, hlen; unsigned int keyix, hlen;
...@@ -1699,7 +1701,7 @@ ath5k_rx_decrypted(struct ath5k_softc *sc, struct ath5k_desc *ds, ...@@ -1699,7 +1701,7 @@ ath5k_rx_decrypted(struct ath5k_softc *sc, struct ath5k_desc *ds,
skb->len >= hlen + 4) { skb->len >= hlen + 4) {
keyix = skb->data[hlen + 3] >> 6; keyix = skb->data[hlen + 3] >> 6;
if (test_bit(keyix, sc->keymap)) if (test_bit(keyix, common->keymap))
return RX_FLAG_DECRYPTED; return RX_FLAG_DECRYPTED;
} }
...@@ -3038,6 +3040,8 @@ ath5k_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, ...@@ -3038,6 +3040,8 @@ ath5k_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
struct ieee80211_key_conf *key) struct ieee80211_key_conf *key)
{ {
struct ath5k_softc *sc = hw->priv; struct ath5k_softc *sc = hw->priv;
struct ath5k_hw *ah = sc->ah;
struct ath_common *common = ath5k_hw_common(ah);
int ret = 0; int ret = 0;
if (modparam_nohwcrypt) if (modparam_nohwcrypt)
...@@ -3070,14 +3074,14 @@ ath5k_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, ...@@ -3070,14 +3074,14 @@ ath5k_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
ATH5K_ERR(sc, "can't set the key\n"); ATH5K_ERR(sc, "can't set the key\n");
goto unlock; goto unlock;
} }
__set_bit(key->keyidx, sc->keymap); __set_bit(key->keyidx, common->keymap);
key->hw_key_idx = key->keyidx; key->hw_key_idx = key->keyidx;
key->flags |= (IEEE80211_KEY_FLAG_GENERATE_IV | key->flags |= (IEEE80211_KEY_FLAG_GENERATE_IV |
IEEE80211_KEY_FLAG_GENERATE_MMIC); IEEE80211_KEY_FLAG_GENERATE_MMIC);
break; break;
case DISABLE_KEY: case DISABLE_KEY:
ath5k_hw_reset_key(sc->ah, key->keyidx); ath5k_hw_reset_key(sc->ah, key->keyidx);
__clear_bit(key->keyidx, sc->keymap); __clear_bit(key->keyidx, common->keymap);
break; break;
default: default:
ret = -EINVAL; ret = -EINVAL;
......
...@@ -153,8 +153,6 @@ struct ath5k_softc { ...@@ -153,8 +153,6 @@ struct ath5k_softc {
enum ath5k_int imask; /* interrupt mask copy */ enum ath5k_int imask; /* interrupt mask copy */
DECLARE_BITMAP(keymap, AR5K_KEYCACHE_SIZE); /* key use bit map */
u8 bssidmask[ETH_ALEN]; u8 bssidmask[ETH_ALEN];
unsigned int led_pin, /* GPIO pin for driving LED */ unsigned int led_pin, /* GPIO pin for driving LED */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册