rt2x00: Correctly initialize AID during set_key()
Request the AID from hardware and provide this id to the driver (in case they need it). Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
9c3444d33e
commit
73a5267087
@@ -487,6 +487,7 @@ int rt2x00mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
|
|||||||
struct ieee80211_key_conf *key)
|
struct ieee80211_key_conf *key)
|
||||||
{
|
{
|
||||||
struct rt2x00_dev *rt2x00dev = hw->priv;
|
struct rt2x00_dev *rt2x00dev = hw->priv;
|
||||||
|
struct ieee80211_sta *sta;
|
||||||
int (*set_key) (struct rt2x00_dev *rt2x00dev,
|
int (*set_key) (struct rt2x00_dev *rt2x00dev,
|
||||||
struct rt2x00lib_crypto *crypto,
|
struct rt2x00lib_crypto *crypto,
|
||||||
struct ieee80211_key_conf *key);
|
struct ieee80211_key_conf *key);
|
||||||
@@ -536,6 +537,17 @@ int rt2x00mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
|
|||||||
} else
|
} else
|
||||||
memcpy(&crypto.key, &key->key[0], key->keylen);
|
memcpy(&crypto.key, &key->key[0], key->keylen);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Discover the Association ID from mac80211.
|
||||||
|
* Some drivers need this information when updating the
|
||||||
|
* hardware key (either adding or removing).
|
||||||
|
*/
|
||||||
|
rcu_read_lock();
|
||||||
|
sta = ieee80211_find_sta(hw, address);
|
||||||
|
if (sta)
|
||||||
|
crypto.aid = sta->aid;
|
||||||
|
rcu_read_unlock();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Each BSS has a maximum of 4 shared keys.
|
* Each BSS has a maximum of 4 shared keys.
|
||||||
* Shared key index values:
|
* Shared key index values:
|
||||||
|
Reference in New Issue
Block a user