iwlwifi: use iwl_sta_id() for TKIP key update
With the station ID being stored in the station struct, which mac80211 gives us for TKIP phase 1 key updates, we can also remove the use of iwl_find_station() in that code path. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
This commit is contained in:
parent
619753ff57
commit
bdbb612fb2
@ -3057,8 +3057,7 @@ static void iwl_mac_update_tkip_key(struct ieee80211_hw *hw,
|
|||||||
struct iwl_priv *priv = hw->priv;
|
struct iwl_priv *priv = hw->priv;
|
||||||
IWL_DEBUG_MAC80211(priv, "enter\n");
|
IWL_DEBUG_MAC80211(priv, "enter\n");
|
||||||
|
|
||||||
iwl_update_tkip_key(priv, keyconf,
|
iwl_update_tkip_key(priv, keyconf, sta,
|
||||||
sta ? sta->addr : iwl_bcast_addr,
|
|
||||||
iv32, phase1key);
|
iv32, phase1key);
|
||||||
|
|
||||||
IWL_DEBUG_MAC80211(priv, "leave\n");
|
IWL_DEBUG_MAC80211(priv, "leave\n");
|
||||||
|
@ -1012,18 +1012,23 @@ static int iwl_set_tkip_dynamic_key_info(struct iwl_priv *priv,
|
|||||||
|
|
||||||
void iwl_update_tkip_key(struct iwl_priv *priv,
|
void iwl_update_tkip_key(struct iwl_priv *priv,
|
||||||
struct ieee80211_key_conf *keyconf,
|
struct ieee80211_key_conf *keyconf,
|
||||||
const u8 *addr, u32 iv32, u16 *phase1key)
|
struct ieee80211_sta *sta, u32 iv32, u16 *phase1key)
|
||||||
{
|
{
|
||||||
u8 sta_id = IWL_INVALID_STATION;
|
u8 sta_id;
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
sta_id = iwl_find_station(priv, addr);
|
if (sta) {
|
||||||
if (sta_id == IWL_INVALID_STATION) {
|
sta_id = iwl_sta_id(sta);
|
||||||
IWL_DEBUG_MAC80211(priv, "leave - %pM not in station map.\n",
|
|
||||||
addr);
|
if (sta_id == IWL_INVALID_STATION) {
|
||||||
return;
|
IWL_DEBUG_MAC80211(priv, "leave - %pM not initialised.\n",
|
||||||
}
|
sta->addr);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
sta_id = priv->hw_params.bcast_sta_id;
|
||||||
|
|
||||||
|
|
||||||
if (iwl_scan_cancel(priv)) {
|
if (iwl_scan_cancel(priv)) {
|
||||||
/* cancel scan failed, just live w/ bad key and rely
|
/* cancel scan failed, just live w/ bad key and rely
|
||||||
|
@ -60,7 +60,7 @@ int iwl_remove_dynamic_key(struct iwl_priv *priv,
|
|||||||
struct ieee80211_key_conf *key, u8 sta_id);
|
struct ieee80211_key_conf *key, u8 sta_id);
|
||||||
void iwl_update_tkip_key(struct iwl_priv *priv,
|
void iwl_update_tkip_key(struct iwl_priv *priv,
|
||||||
struct ieee80211_key_conf *keyconf,
|
struct ieee80211_key_conf *keyconf,
|
||||||
const u8 *addr, u32 iv32, u16 *phase1key);
|
struct ieee80211_sta *sta, u32 iv32, u16 *phase1key);
|
||||||
|
|
||||||
void iwl_restore_stations(struct iwl_priv *priv);
|
void iwl_restore_stations(struct iwl_priv *priv);
|
||||||
void iwl_clear_ucode_stations(struct iwl_priv *priv);
|
void iwl_clear_ucode_stations(struct iwl_priv *priv);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user