]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: iwlwifi: mld: move iwl_mld_link_info_changed_ap_ibss to ap.c
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Mon, 11 May 2026 17:36:21 +0000 (20:36 +0300)
committerMiri Korenblit <miriam.rachel.korenblit@intel.com>
Tue, 26 May 2026 12:17:09 +0000 (15:17 +0300)
This function is ap mode related, move it to ap.c.
Also, don't call iwl_mld_ftm_responder_clear from stop_ap() since
mac80211 does it now before stopping the AP.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Link: https://patch.msgid.link/20260511203428.83ea430fbd74.I5ac85373c250b684cb46978d9e6bd42ba0e88171@changeid
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
drivers/net/wireless/intel/iwlwifi/mld/ap.c
drivers/net/wireless/intel/iwlwifi/mld/ap.h
drivers/net/wireless/intel/iwlwifi/mld/mac80211.c

index c29e4a77be058329253b29ef5e8ed4466e148691..bc426b911ce5c91493f4b1950a20d4944844f036 100644 (file)
@@ -239,8 +239,8 @@ int iwl_mld_store_ap_early_key(struct iwl_mld *mld,
        return -ENOSPC;
 }
 
-void iwl_mld_stop_beacon(struct iwl_mld *mld, struct ieee80211_vif *vif,
-                        struct ieee80211_bss_conf *link)
+static void iwl_mld_stop_beacon(struct iwl_mld *mld, struct ieee80211_vif *vif,
+                               struct ieee80211_bss_conf *link)
 {
        struct iwl_mld_link *mld_link = iwl_mld_link_from_mac80211(link);
        struct iwl_mac_beacon_cmd cmd = {};
@@ -258,6 +258,39 @@ void iwl_mld_stop_beacon(struct iwl_mld *mld, struct ieee80211_vif *vif,
        iwl_mld_send_cmd_pdu(mld, BEACON_TEMPLATE_CMD, &cmd);
 }
 
+void
+iwl_mld_link_info_changed_ap_ibss(struct iwl_mld *mld,
+                                 struct ieee80211_vif *vif,
+                                 struct ieee80211_bss_conf *link,
+                                 u64 changes)
+{
+       u32 link_changes = 0;
+
+       if (changes & BSS_CHANGED_ERP_SLOT)
+               link_changes |= LINK_CONTEXT_MODIFY_RATES_INFO;
+
+       if (changes & (BSS_CHANGED_ERP_CTS_PROT | BSS_CHANGED_HT))
+               link_changes |= LINK_CONTEXT_MODIFY_PROTECT_FLAGS;
+
+       if (changes & (BSS_CHANGED_QOS | BSS_CHANGED_BANDWIDTH))
+               link_changes |= LINK_CONTEXT_MODIFY_QOS_PARAMS;
+
+       if (changes & BSS_CHANGED_HE_BSS_COLOR)
+               link_changes |= LINK_CONTEXT_MODIFY_HE_PARAMS;
+
+       if (link_changes)
+               iwl_mld_change_link_in_fw(mld, link, link_changes);
+
+       if (changes & BSS_CHANGED_BEACON) {
+               WARN_ON(!link->enable_beacon);
+               iwl_mld_update_beacon_template(mld, vif, link);
+       }
+
+       /* Enabling beacons was already covered above */
+       if ((changes & BSS_CHANGED_BEACON_ENABLED) && !link->enable_beacon)
+               iwl_mld_stop_beacon(mld, vif, link);
+}
+
 static int iwl_mld_send_ap_early_keys(struct iwl_mld *mld,
                                      struct ieee80211_vif *vif,
                                      struct ieee80211_bss_conf *link)
index a3b6bed814adfceaeb77c6c5e93c345e94bc0363..f10e9c9a38ff1d0995d95f05f3099cf94ebf8616 100644 (file)
@@ -14,9 +14,11 @@ int iwl_mld_update_beacon_template(struct iwl_mld *mld,
                                   struct ieee80211_vif *vif,
                                   struct ieee80211_bss_conf *link_conf);
 
-void iwl_mld_stop_beacon(struct iwl_mld *mld,
-                        struct ieee80211_vif *vif,
-                        struct ieee80211_bss_conf *link_conf);
+void
+iwl_mld_link_info_changed_ap_ibss(struct iwl_mld *mld,
+                                 struct ieee80211_vif *vif,
+                                 struct ieee80211_bss_conf *link,
+                                 u64 changes);
 
 int iwl_mld_start_ap_ibss(struct ieee80211_hw *hw,
                          struct ieee80211_vif *vif,
index 403bc38ac2bcd7f754b5dcf149c6a3cb3dd78544..c02994e63b1418dcfba3b2ec5e1c6990f8a0d3ca 100644 (file)
@@ -1235,39 +1235,6 @@ int iwl_mld_mac80211_set_rts_threshold(struct ieee80211_hw *hw, int radio_idx,
        return 0;
 }
 
-static void
-iwl_mld_link_info_changed_ap_ibss(struct iwl_mld *mld,
-                                 struct ieee80211_vif *vif,
-                                 struct ieee80211_bss_conf *link,
-                                 u64 changes)
-{
-       u32 link_changes = 0;
-
-       if (changes & BSS_CHANGED_ERP_SLOT)
-               link_changes |= LINK_CONTEXT_MODIFY_RATES_INFO;
-
-       if (changes & (BSS_CHANGED_ERP_CTS_PROT | BSS_CHANGED_HT))
-               link_changes |= LINK_CONTEXT_MODIFY_PROTECT_FLAGS;
-
-       if (changes & (BSS_CHANGED_QOS | BSS_CHANGED_BANDWIDTH))
-               link_changes |= LINK_CONTEXT_MODIFY_QOS_PARAMS;
-
-       if (changes & BSS_CHANGED_HE_BSS_COLOR)
-               link_changes |= LINK_CONTEXT_MODIFY_HE_PARAMS;
-
-       if (link_changes)
-               iwl_mld_change_link_in_fw(mld, link, link_changes);
-
-       if (changes & BSS_CHANGED_BEACON) {
-               WARN_ON(!link->enable_beacon);
-               iwl_mld_update_beacon_template(mld, vif, link);
-       }
-
-       /* Enabling beacons was already covered above */
-       if ((changes & BSS_CHANGED_BEACON_ENABLED) && !link->enable_beacon)
-               iwl_mld_stop_beacon(mld, vif, link);
-}
-
 static
 u32 iwl_mld_link_changed_mapping(struct iwl_mld *mld,
                                 struct ieee80211_vif *vif,