rt2x00: Add WCID to crypto struct
When a WCID was already assigned to a STA the key configuration functions need to use the same WCID for configuring the keys. Hence, add the WCID to the crypo configuration structure. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> 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
b4943d8113
commit
f03fcfc110
@@ -478,6 +478,8 @@ struct rt2x00lib_crypto {
|
|||||||
u8 key[16];
|
u8 key[16];
|
||||||
u8 tx_mic[8];
|
u8 tx_mic[8];
|
||||||
u8 rx_mic[8];
|
u8 rx_mic[8];
|
||||||
|
|
||||||
|
int wcid;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@@ -494,6 +494,7 @@ int rt2x00mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
|
|||||||
struct rt2x00lib_crypto crypto;
|
struct rt2x00lib_crypto crypto;
|
||||||
static const u8 bcast_addr[ETH_ALEN] =
|
static const u8 bcast_addr[ETH_ALEN] =
|
||||||
{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, };
|
{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, };
|
||||||
|
struct rt2x00_sta *sta_priv = NULL;
|
||||||
|
|
||||||
if (!test_bit(DEVICE_STATE_PRESENT, &rt2x00dev->flags))
|
if (!test_bit(DEVICE_STATE_PRESENT, &rt2x00dev->flags))
|
||||||
return 0;
|
return 0;
|
||||||
@@ -511,9 +512,11 @@ int rt2x00mac_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd,
|
|||||||
|
|
||||||
crypto.cmd = cmd;
|
crypto.cmd = cmd;
|
||||||
|
|
||||||
if (sta)
|
if (sta) {
|
||||||
crypto.address = sta->addr;
|
crypto.address = sta->addr;
|
||||||
else
|
sta_priv = sta_to_rt2x00_sta(sta);
|
||||||
|
crypto.wcid = sta_priv->wcid;
|
||||||
|
} else
|
||||||
crypto.address = bcast_addr;
|
crypto.address = bcast_addr;
|
||||||
|
|
||||||
if (crypto.cipher == CIPHER_TKIP)
|
if (crypto.cipher == CIPHER_TKIP)
|
||||||
|
Reference in New Issue
Block a user