diff options
author | Shaul Triebitz <shaul.triebitz@intel.com> | 2024-02-15 06:19:37 +0200 |
---|---|---|
committer | iwlwifi publisher <> | 2024-04-17 12:54:08 +0000 |
commit | b58c7f6054389c686bc887334f9927db85f68ed4 (patch) | |
tree | 1361194d5ef90a7296245e38336a677b496eef54 | |
parent | 7005fa74c513467bcd11638bb404fc32516a5325 (diff) | |
download | backport-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.c | 9 | ||||
-rw-r--r-- | versions | 2 |
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; @@ -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" |