mirror of
https://github.com/torvalds/linux.git
synced 2026-07-28 01:55:51 +02:00
wifi: iwlwifi: mld: move iwl_mld_link_info_changed_ap_ibss to ap.c
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>
This commit is contained in:
parent
a342c99cb7
commit
848ae606eb
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user