diff options
author | Shaul Triebitz <shaul.triebitz@intel.com> | 2024-02-07 01:18:25 +0200 |
---|---|---|
committer | iwlwifi publisher <> | 2024-04-17 12:47:33 +0000 |
commit | 5b753eba51ad35bb37765a33bf303e424d780908 (patch) | |
tree | 974d2ae001366a3cc5791f4abe13bcc24e58a6ae | |
parent | bc8126231b1fb44e742c3a6504653c531a27813d (diff) | |
download | backport-iwlwifi-5b753eba51ad35bb37765a33bf303e424d780908.tar.gz |
[BUGFIX] wifi: iwlwifi: mvm: consider having one active link
Do not call iwl_mvm_mld_get_primary_link if only one link
is active.
In that case, the sole active link should be used.
iwl_mvm_mld_get_primary_link returns -1 if only one link
is active causing a warnning.
type=bugfix
fixes=I27c7a1d08aecc5da0af2c351212f22e92ed70219
ticket=none
Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com>
Change-Id: I05b0ac7fa7149eabaa5570a6f65b0d9bfb09a6f1
Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/93256
automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM>
tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM>
Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Tested-by: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM>
x-iwlwifi-stack-dev: 99645ddb4127940cd413fffbb9c9add469620706
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/d3.c | 16 | ||||
-rw-r--r-- | versions | 2 |
2 files changed, 10 insertions, 8 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/d3.c b/drivers/net/wireless/intel/iwlwifi/mvm/d3.c index 7265b19206..0192ffe634 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/d3.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/d3.c @@ -1260,15 +1260,15 @@ static int __iwl_mvm_suspend(struct ieee80211_hw *hw, if (IS_ERR_OR_NULL(vif)) return 1; - if (ieee80211_vif_is_mld(vif) && vif->cfg.assoc) { + if (hweight16(vif->active_links) > 1) { /* - * Select the 'best' link. May need to revisit, it seems - * better to not optimize for throughput but rather range, - * reliability and power here - and select 2.4 GHz ... + * Select the 'best' link. + * May need to revisit, it seems better to not optimize + * for throughput but rather range, reliability and + * power here - and select 2.4 GHz ... */ - primary_link = - iwl_mvm_mld_get_primary_link(mvm, vif, - vif->active_links); + primary_link = iwl_mvm_mld_get_primary_link(mvm, vif, + vif->active_links); if (WARN_ONCE(primary_link < 0, "no primary link in 0x%x\n", vif->active_links)) @@ -1277,6 +1277,8 @@ static int __iwl_mvm_suspend(struct ieee80211_hw *hw, ret = ieee80211_set_active_links(vif, BIT(primary_link)); if (ret) return ret; + } else if (vif->active_links) { + primary_link = __ffs(vif->active_links); } else { primary_link = 0; } @@ -2,4 +2,4 @@ BACKPORTS_VERSION="(see git)" BACKPORTED_KERNEL_VERSION="(see git)" BACKPORTED_KERNEL_NAME="iwlwifi" BACKPORTS_BUILD_TSTAMP=__DATE__ \" \" __TIME__ -BACKPORTS_GIT_TRACKED="iwlwifi-stack-public:master:11887:c2d2f10a" +BACKPORTS_GIT_TRACKED="iwlwifi-stack-public:master:11888:99645ddb" |