iwlwifi: mvm: clean up authorized condition
authorJohannes Berg <johannes.berg@intel.com>
Tue, 17 May 2022 09:05:07 +0000 (12:05 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 18 May 2022 10:51:25 +0000 (12:51 +0200)
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: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20220517120044.41f528383a6b.I1cdf165581b781c53c8e6ac8779a2282b1f67c59@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c

index 5aa4520b70ac52e2cca772a5a3a2ef2cc9e73480..e7f18f549ca9bded54a45c3f44c43fc70cc9ef41 100644 (file)
@@ -1,6 +1,6 @@
 // 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) 2015-2017 Intel Deutschland GmbH
  */
@@ -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 &&
            !force_assoc_off) {
                struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
-               u8 ap_sta_id = mvmvif->ap_sta_id;
                u32 dtim_offs;
 
                /*
@@ -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
                 * authorized, i.e., GTK keys are already installed (if needed)
                 */
-               if (ap_sta_id < mvm->fw->ucode_capa.num_stations) {
-                       struct ieee80211_sta *sta;
-
-                       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();
-               }
+               if (mvmvif->authorized)
+                       cmd.filter_flags |= cpu_to_le32(MAC_FILTER_ACCEPT_GRP);
        } else {
                ctxt_sta->is_assoc = cpu_to_le32(0);