]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: iwlwifi: mvm: cleanup iwl_mvm_sta_del
authorMiri Korenblit <miriam.rachel.korenblit@intel.com>
Tue, 24 Dec 2024 17:27:31 +0000 (19:27 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 13 Jan 2025 12:53:04 +0000 (13:53 +0100)
Now it neither sets the ret argument or return something else than
false.
Cleanup this function to be void and to not receive the ret argument.
This also allows to get rid of the sta_in_fw parameter in
iwl_mvm_mld_free_sta_link.

Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Link: https://patch.msgid.link/20241224192322.ecebfa16c62c.Ia1cc352b871593be4f51cb3db98f9eedd5267857@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c
drivers/net/wireless/intel/iwlwifi/mvm/sta.c
drivers/net/wireless/intel/iwlwifi/mvm/sta.h

index 54275374815ae1edb52b01f59a23bfcf436b3e40..e22c9172bf0281313140cf54ee475e85457d14cb 100644 (file)
@@ -1153,7 +1153,7 @@ static void iwl_mvm_cleanup_sta_iterator(void *data, struct ieee80211_sta *sta)
                         * Delete the stale data to avoid issues later on.
                         */
                        iwl_mvm_mld_free_sta_link(mvm, mvm_sta, mvm_link_sta,
-                                                 link_id, false);
+                                                 link_id);
                }
        }
 }
index 01983960401131a52a873211c77b289885c9ea37..2f159024eeb894d3e7e58aee4e03389397bc6fc6 100644 (file)
@@ -518,14 +518,12 @@ static int iwl_mvm_mld_cfg_sta(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
 void iwl_mvm_mld_free_sta_link(struct iwl_mvm *mvm,
                               struct iwl_mvm_sta *mvm_sta,
                               struct iwl_mvm_link_sta *mvm_sta_link,
-                              unsigned int link_id,
-                              bool is_in_fw)
+                              unsigned int link_id)
 {
        lockdep_assert_wiphy(mvm->hw->wiphy);
        lockdep_assert_held(&mvm->mutex);
 
-       RCU_INIT_POINTER(mvm->fw_id_to_mac_id[mvm_sta_link->sta_id],
-                        is_in_fw ? ERR_PTR(-EINVAL) : NULL);
+       RCU_INIT_POINTER(mvm->fw_id_to_mac_id[mvm_sta_link->sta_id], NULL);
        RCU_INIT_POINTER(mvm->fw_id_to_link_sta[mvm_sta_link->sta_id], NULL);
        RCU_INIT_POINTER(mvm_sta->link[link_id], NULL);
 
@@ -546,7 +544,7 @@ static void iwl_mvm_mld_sta_rm_all_sta_links(struct iwl_mvm *mvm,
                if (!link)
                        continue;
 
-               iwl_mvm_mld_free_sta_link(mvm, mvm_sta, link, link_id, false);
+               iwl_mvm_mld_free_sta_link(mvm, mvm_sta, link, link_id);
        }
 }
 
@@ -844,18 +842,11 @@ int iwl_mvm_mld_rm_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
                struct iwl_mvm_link_sta *mvm_link_sta =
                        rcu_dereference_protected(mvm_sta->link[link_id],
                                                  lockdep_is_held(&mvm->mutex));
-               bool stay_in_fw;
+               iwl_mvm_sta_del(mvm, vif, sta, link_sta);
 
-               stay_in_fw = iwl_mvm_sta_del(mvm, vif, sta, link_sta, &ret);
-               if (ret)
-                       break;
-
-               if (!stay_in_fw)
-                       ret = iwl_mvm_mld_rm_sta_from_fw(mvm,
-                                                        mvm_link_sta->sta_id);
+               ret = iwl_mvm_mld_rm_sta_from_fw(mvm, mvm_link_sta->sta_id);
 
-               iwl_mvm_mld_free_sta_link(mvm, mvm_sta, mvm_link_sta,
-                                         link_id, stay_in_fw);
+               iwl_mvm_mld_free_sta_link(mvm, mvm_sta, mvm_link_sta, link_id);
        }
        kfree(mvm_sta->mpdu_counters);
        mvm_sta->mpdu_counters = NULL;
@@ -1122,8 +1113,7 @@ int iwl_mvm_mld_update_sta_links(struct iwl_mvm *mvm,
                if (vif->type == NL80211_IFTYPE_STATION)
                        mvm_vif_link->ap_sta_id = IWL_INVALID_STA;
 
-               iwl_mvm_mld_free_sta_link(mvm, mvm_sta, mvm_sta_link, link_id,
-                                         false);
+               iwl_mvm_mld_free_sta_link(mvm, mvm_sta, mvm_sta_link, link_id);
        }
 
        for_each_set_bit(link_id, &links_to_add, IEEE80211_MLD_MAX_NUM_LINKS) {
@@ -1227,8 +1217,7 @@ err:
                        rcu_dereference_protected(mvm_sta->link[link_id],
                                                  lockdep_is_held(&mvm->mutex));
 
-               iwl_mvm_mld_free_sta_link(mvm, mvm_sta, mvm_sta_link, link_id,
-                                         false);
+               iwl_mvm_mld_free_sta_link(mvm, mvm_sta, mvm_sta_link, link_id);
        }
 
        return ret;
index 35f4ca89920e0c7308db78b10a2c6d3e40aef002..9d9d385f67ac881c28e0c23371638452eea12aac 100644 (file)
@@ -2045,9 +2045,9 @@ int iwl_mvm_wait_sta_queues_empty(struct iwl_mvm *mvm,
  * Returns if we're done with removing the station, either
  * with error or success
  */
-bool iwl_mvm_sta_del(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
+void iwl_mvm_sta_del(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
                     struct ieee80211_sta *sta,
-                    struct ieee80211_link_sta *link_sta, int *ret)
+                    struct ieee80211_link_sta *link_sta)
 {
        struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
        struct iwl_mvm_vif_link_info *mvm_link =
@@ -2080,8 +2080,6 @@ bool iwl_mvm_sta_del(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
                mvm->tdls_cs.peer.sta_id = IWL_INVALID_STA;
                cancel_delayed_work(&mvm->tdls_cs.dwork);
        }
-
-       return false;
 }
 
 int iwl_mvm_rm_sta(struct iwl_mvm *mvm,
@@ -2137,8 +2135,7 @@ int iwl_mvm_rm_sta(struct iwl_mvm *mvm,
                *status = IWL_MVM_QUEUE_FREE;
        }
 
-       if (iwl_mvm_sta_del(mvm, vif, sta, &sta->deflink, &ret))
-               return ret;
+       iwl_mvm_sta_del(mvm, vif, sta, &sta->deflink);
 
        ret = iwl_mvm_rm_sta_common(mvm, mvm_sta->deflink.sta_id);
        RCU_INIT_POINTER(mvm->fw_id_to_mac_id[mvm_sta->deflink.sta_id], NULL);
index dbc531c63f0f3ed463936201c88b7229dd4747fb..6856f7440ef3ebb2dce503758feae1e914e70e67 100644 (file)
@@ -507,9 +507,9 @@ void iwl_mvm_realloc_queues_after_restart(struct iwl_mvm *mvm,
                                          struct ieee80211_sta *sta);
 int iwl_mvm_wait_sta_queues_empty(struct iwl_mvm *mvm,
                                  struct iwl_mvm_sta *mvm_sta);
-bool iwl_mvm_sta_del(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
+void iwl_mvm_sta_del(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
                     struct ieee80211_sta *sta,
-                    struct ieee80211_link_sta *link_sta, int *ret);
+                    struct ieee80211_link_sta *link_sta);
 int iwl_mvm_rm_sta(struct iwl_mvm *mvm,
                   struct ieee80211_vif *vif,
                   struct ieee80211_sta *sta);
@@ -665,8 +665,7 @@ int iwl_mvm_mld_rm_sta(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
 void iwl_mvm_mld_free_sta_link(struct iwl_mvm *mvm,
                               struct iwl_mvm_sta *mvm_sta,
                               struct iwl_mvm_link_sta *mvm_sta_link,
-                              unsigned int link_id,
-                              bool is_in_fw);
+                              unsigned int link_id);
 int iwl_mvm_mld_rm_sta_id(struct iwl_mvm *mvm, u8 sta_id);
 int iwl_mvm_mld_update_sta_links(struct iwl_mvm *mvm,
                                 struct ieee80211_vif *vif,