Skip to content

Commit 05fe960

Browse files
yedidyaBenshjmberg-intel
authored andcommitted
wifi: iwlwifi: mvm: Add a print for invalid link pair due to bandwidth
When validating a link pair for EMLSR, add a print for invalid link pair due to bandwidth Signed-off-by: Yedidya Benshimol <yedidya.ben.shimol@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://msgid.link/20240506095953.9e57ad898cf4.Id8edfd5e3774ea6475d5f4178ab7ea75a870ef95@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
1 parent ff907d9 commit 05fe960

1 file changed

Lines changed: 20 additions & 11 deletions

File tree

  • drivers/net/wireless/intel/iwlwifi/mvm

drivers/net/wireless/intel/iwlwifi/mvm/link.c

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -691,12 +691,11 @@ s8 iwl_mvm_get_esr_rssi_thresh(struct iwl_mvm *mvm,
691691
}
692692

693693
static u32
694-
iwl_mvm_esr_disallowed_with_link(struct ieee80211_vif *vif,
694+
iwl_mvm_esr_disallowed_with_link(struct iwl_mvm *mvm,
695+
struct ieee80211_vif *vif,
695696
const struct iwl_mvm_link_sel_data *link,
696697
bool primary)
697698
{
698-
struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
699-
struct iwl_mvm *mvm = mvmvif->mvm;
700699
struct wiphy *wiphy = mvm->hw->wiphy;
701700
struct ieee80211_bss_conf *conf;
702701
enum iwl_mvm_esr_state ret = 0;
@@ -735,20 +734,30 @@ bool iwl_mvm_mld_valid_link_pair(struct ieee80211_vif *vif,
735734
const struct iwl_mvm_link_sel_data *a,
736735
const struct iwl_mvm_link_sel_data *b)
737736
{
738-
/* Per-link considerations */
739-
if (iwl_mvm_esr_disallowed_with_link(vif, a, true) ||
740-
iwl_mvm_esr_disallowed_with_link(vif, b, false))
741-
return false;
737+
struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
738+
struct iwl_mvm *mvm = mvmvif->mvm;
739+
enum iwl_mvm_esr_state ret = 0;
742740

743-
if (a->chandef->width != b->chandef->width)
741+
/* Per-link considerations */
742+
if (iwl_mvm_esr_disallowed_with_link(mvm, vif, a, true) ||
743+
iwl_mvm_esr_disallowed_with_link(mvm, vif, b, false))
744744
return false;
745745

746-
if (!(a->chandef->chan->band == NL80211_BAND_6GHZ &&
746+
if (a->chandef->width != b->chandef->width ||
747+
!(a->chandef->chan->band == NL80211_BAND_6GHZ &&
747748
b->chandef->chan->band == NL80211_BAND_5GHZ))
749+
ret |= IWL_MVM_ESR_EXIT_BANDWIDTH;
750+
751+
if (ret) {
752+
IWL_DEBUG_INFO(mvm,
753+
"Links %d and %d are not a valid pair for EMLSR\n",
754+
a->link_id, b->link_id);
755+
iwl_mvm_print_esr_state(mvm, ret);
748756
return false;
757+
}
758+
759+
return true;
749760

750-
/* Per-combination considerations */
751-
return a->chandef->chan->band != b->chandef->chan->band;
752761
}
753762
EXPORT_SYMBOL_IF_IWLWIFI_KUNIT(iwl_mvm_mld_valid_link_pair);
754763

0 commit comments

Comments
 (0)