Commit 51e073c2 authored by Johannes Berg's avatar Johannes Berg

iwlwifi: mvm: clean up authorized condition

We track in mvmvif->authorized when the AP STA becomes authorized
and no longer authorized, so we don't need the complex condition
with station lookup. Simplify the code.
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarGregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20220517120044.41f528383a6b.I1cdf165581b781c53c8e6ac8779a2282b1f67c59@changeidSigned-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 537b76d2
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
/* /*
* Copyright (C) 2012-2014, 2018-2021 Intel Corporation * Copyright (C) 2012-2014, 2018-2022 Intel Corporation
* Copyright (C) 2013-2014 Intel Mobile Communications GmbH * Copyright (C) 2013-2014 Intel Mobile Communications GmbH
* Copyright (C) 2015-2017 Intel Deutschland GmbH * Copyright (C) 2015-2017 Intel Deutschland GmbH
*/ */
...@@ -567,7 +567,6 @@ static int iwl_mvm_mac_ctxt_cmd_sta(struct iwl_mvm *mvm, ...@@ -567,7 +567,6 @@ static int iwl_mvm_mac_ctxt_cmd_sta(struct iwl_mvm *mvm,
if (vif->bss_conf.assoc && vif->bss_conf.dtim_period && if (vif->bss_conf.assoc && vif->bss_conf.dtim_period &&
!force_assoc_off) { !force_assoc_off) {
struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
u8 ap_sta_id = mvmvif->ap_sta_id;
u32 dtim_offs; u32 dtim_offs;
/* /*
...@@ -614,24 +613,8 @@ static int iwl_mvm_mac_ctxt_cmd_sta(struct iwl_mvm *mvm, ...@@ -614,24 +613,8 @@ static int iwl_mvm_mac_ctxt_cmd_sta(struct iwl_mvm *mvm,
* allow multicast data frames only as long as the station is * allow multicast data frames only as long as the station is
* authorized, i.e., GTK keys are already installed (if needed) * authorized, i.e., GTK keys are already installed (if needed)
*/ */
if (ap_sta_id < mvm->fw->ucode_capa.num_stations) { if (mvmvif->authorized)
struct ieee80211_sta *sta; cmd.filter_flags |= cpu_to_le32(MAC_FILTER_ACCEPT_GRP);
rcu_read_lock();
sta = rcu_dereference(mvm->fw_id_to_mac_id[ap_sta_id]);
if (!IS_ERR_OR_NULL(sta)) {
struct iwl_mvm_sta *mvmsta =
iwl_mvm_sta_from_mac80211(sta);
if (mvmsta->sta_state ==
IEEE80211_STA_AUTHORIZED)
cmd.filter_flags |=
cpu_to_le32(MAC_FILTER_ACCEPT_GRP);
}
rcu_read_unlock();
}
} else { } else {
ctxt_sta->is_assoc = cpu_to_le32(0); ctxt_sta->is_assoc = cpu_to_le32(0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment