summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShaul Triebitz <shaul.triebitz@intel.com>2024-02-15 06:19:37 +0200
committeriwlwifi publisher <>2024-04-17 12:54:08 +0000
commitb58c7f6054389c686bc887334f9927db85f68ed4 (patch)
tree1361194d5ef90a7296245e38336a677b496eef54
parent7005fa74c513467bcd11638bb404fc32516a5325 (diff)
downloadbackport-iwlwifi-b58c7f6054389c686bc887334f9927db85f68ed4.tar.gz
[BUGFIX] wifi: iwlwifi: mvm: stop assuming sta id 0 in d3
In MLO, the station id in d3 can be other than 0. Do not assume the station id is 0 when waking up from d3. type=bugfix fixes=unknown ticket=none Signed-off-by: Shaul Triebitz <shaul.triebitz@intel.com> Change-Id: I83de9d868224df76eee8df8dbcf352636535821a Reviewed-on: https://gerritwcs.ir.intel.com/c/iwlwifi-stack-dev/+/94642 tested: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> automatic-review: iil_jenkins iil_jenkins <EC.GER.UNIX.IIL.JENKINS@INTEL.COM> Reviewed-by: Miriam Rachel Korenblit <miriam.rachel.korenblit@intel.com> x-iwlwifi-stack-dev: 01363c82dc8a207eadaff4f156a70c7857706aa1
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/d3.c9
-rw-r--r--versions2
2 files changed, 8 insertions, 3 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/d3.c b/drivers/net/wireless/intel/iwlwifi/mvm/d3.c
index e6a6b064bb..32f7754480 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/d3.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/d3.c
@@ -2554,6 +2554,12 @@ static bool iwl_mvm_query_wakeup_reasons(struct iwl_mvm *mvm,
int i;
bool keep = false;
struct iwl_mvm_sta *mvm_ap_sta;
+ struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
+ int link_id = vif->active_links ? __ffs(vif->active_links) : 0;
+ struct iwl_mvm_vif_link_info *mvm_link = mvmvif->link[link_id];
+
+ if (WARN_ON(!mvm_link))
+ goto out_unlock;
if (!status)
goto out_unlock;
@@ -2561,8 +2567,7 @@ static bool iwl_mvm_query_wakeup_reasons(struct iwl_mvm *mvm,
IWL_DEBUG_WOWLAN(mvm, "wakeup reason 0x%x\n",
status->wakeup_reasons);
- /* still at hard-coded place 0 for D3 image */
- mvm_ap_sta = iwl_mvm_sta_from_staid_protected(mvm, 0);
+ mvm_ap_sta = iwl_mvm_sta_from_staid_protected(mvm, mvm_link->ap_sta_id);
if (!mvm_ap_sta)
goto out_unlock;
diff --git a/versions b/versions
index 8774c45d84..b883203866 100644
--- a/versions
+++ b/versions
@@ -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:11922:cf6efd84"
+BACKPORTS_GIT_TRACKED="iwlwifi-stack-public:master:11923:01363c82"