mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-06 20:48:54 -04:00
wifi: iwlwifi: mvm: unify link info initialization
Move the link info initialization to a common function so that it can be modified more easily later. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://patch.msgid.link/20241028135215.ab963cc90e56.Ice5cf66dec8351f8e94ca4c5b3a27e9311d0c20a@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
@@ -1167,3 +1167,14 @@ void iwl_mvm_unblock_esr(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
|
||||
if (!mvmvif->esr_disable_reason)
|
||||
iwl_mvm_esr_unblocked(mvm, vif);
|
||||
}
|
||||
|
||||
void iwl_mvm_init_link(struct iwl_mvm_vif_link_info *link)
|
||||
{
|
||||
link->bcast_sta.sta_id = IWL_MVM_INVALID_STA;
|
||||
link->mcast_sta.sta_id = IWL_MVM_INVALID_STA;
|
||||
link->ap_sta_id = IWL_MVM_INVALID_STA;
|
||||
|
||||
for (int r = 0; r < NUM_IWL_MVM_SMPS_REQ; r++)
|
||||
link->smps_requests[r] =
|
||||
IEEE80211_SMPS_AUTOMATIC;
|
||||
}
|
||||
|
||||
@@ -216,7 +216,7 @@ int iwl_mvm_mac_ctxt_init(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
|
||||
.preferred_tsf = NUM_TSF_IDS,
|
||||
.found_vif = false,
|
||||
};
|
||||
int ret, i;
|
||||
int ret;
|
||||
|
||||
lockdep_assert_held(&mvm->mutex);
|
||||
|
||||
@@ -298,9 +298,7 @@ int iwl_mvm_mac_ctxt_init(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
|
||||
mvmvif->time_event_data.id = TE_MAX;
|
||||
mvmvif->roc_activity = ROC_NUM_ACTIVITIES;
|
||||
|
||||
mvmvif->deflink.bcast_sta.sta_id = IWL_MVM_INVALID_STA;
|
||||
mvmvif->deflink.mcast_sta.sta_id = IWL_MVM_INVALID_STA;
|
||||
mvmvif->deflink.ap_sta_id = IWL_MVM_INVALID_STA;
|
||||
iwl_mvm_init_link(&mvmvif->deflink);
|
||||
|
||||
/* No need to allocate data queues to P2P Device MAC and NAN.*/
|
||||
if (vif->type == NL80211_IFTYPE_P2P_DEVICE)
|
||||
@@ -316,9 +314,6 @@ int iwl_mvm_mac_ctxt_init(struct iwl_mvm *mvm, struct ieee80211_vif *vif)
|
||||
mvmvif->deflink.cab_queue = IWL_MVM_DQA_GCAST_QUEUE;
|
||||
}
|
||||
|
||||
for (i = 0; i < NUM_IWL_MVM_SMPS_REQ; i++)
|
||||
mvmvif->deflink.smps_requests[i] = IEEE80211_SMPS_AUTOMATIC;
|
||||
|
||||
return 0;
|
||||
|
||||
exit_fail:
|
||||
|
||||
@@ -1161,8 +1161,6 @@ iwl_mvm_mld_change_vif_links(struct ieee80211_hw *hw,
|
||||
int err, i;
|
||||
|
||||
for (i = 0; i < IEEE80211_MLD_MAX_NUM_LINKS; i++) {
|
||||
int r;
|
||||
|
||||
if (test_bit(IWL_MVM_STATUS_IN_HW_RESTART, &mvm->status))
|
||||
break;
|
||||
|
||||
@@ -1174,14 +1172,8 @@ iwl_mvm_mld_change_vif_links(struct ieee80211_hw *hw,
|
||||
goto free;
|
||||
}
|
||||
|
||||
new_link[i]->bcast_sta.sta_id = IWL_MVM_INVALID_STA;
|
||||
new_link[i]->mcast_sta.sta_id = IWL_MVM_INVALID_STA;
|
||||
new_link[i]->ap_sta_id = IWL_MVM_INVALID_STA;
|
||||
new_link[i]->fw_link_id = IWL_MVM_FW_LINK_ID_INVALID;
|
||||
|
||||
for (r = 0; r < NUM_IWL_MVM_SMPS_REQ; r++)
|
||||
new_link[i]->smps_requests[r] =
|
||||
IEEE80211_SMPS_AUTOMATIC;
|
||||
iwl_mvm_init_link(new_link[i]);
|
||||
}
|
||||
|
||||
mutex_lock(&mvm->mutex);
|
||||
|
||||
@@ -2105,6 +2105,7 @@ int iwl_mvm_binding_remove_vif(struct iwl_mvm *mvm, struct ieee80211_vif *vif);
|
||||
u32 iwl_mvm_get_lmac_id(struct iwl_mvm *mvm, enum nl80211_band band);
|
||||
|
||||
/* Links */
|
||||
void iwl_mvm_init_link(struct iwl_mvm_vif_link_info *link);
|
||||
int iwl_mvm_set_link_mapping(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
|
||||
struct ieee80211_bss_conf *link_conf);
|
||||
int iwl_mvm_add_link(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
|
||||
|
||||
Reference in New Issue
Block a user