aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/drivers/net/wireless/intel
diff options
context:
space:
mode:
authorBenjamin Berg <benjamin.berg@intel.com>2024-02-18 19:51:46 +0200
committerJohannes Berg <johannes.berg@intel.com>2024-02-21 15:19:04 +0100
commite2967e83921a3748116b8e330cbbb794817ceee8 (patch)
tree962b742f39f259ac6462106ad76c64a426e13b75 /drivers/net/wireless/intel
parentwifi: iwlwifi: bump FW API to 90 for BZ/SC devices (diff)
downloadwireguard-linux-e2967e83921a3748116b8e330cbbb794817ceee8.tar.xz
wireguard-linux-e2967e83921a3748116b8e330cbbb794817ceee8.zip
wifi: iwlwifi: mvm: unlock mvm if there is no primary link
At that point in the code mvm->mutex has already been taken, so jump to out_noreset in order to unlock before returning the error. Fixes: 8c9bef26e98b ("wifi: iwlwifi: mvm: d3: implement suspend with MLO") Signed-off-by: Benjamin Berg <benjamin.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://msgid.link/20240218194912.21de6e68d9e5.I3c0ebe577dec6b26ab6b4eac48035d6f35a8b0f8@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/d3.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/d3.c b/drivers/net/wireless/intel/iwlwifi/mvm/d3.c
index 9830a3c3600b..6d5ed79b9fff 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/d3.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/d3.c
@@ -1290,8 +1290,10 @@ static int __iwl_mvm_suspend(struct ieee80211_hw *hw,
mvmvif = iwl_mvm_vif_from_mac80211(vif);
mvm_link = mvmvif->link[primary_link];
- if (WARN_ON_ONCE(!mvm_link))
- return -EINVAL;
+ if (WARN_ON_ONCE(!mvm_link)) {
+ ret = -EINVAL;
+ goto out_noreset;
+ }
if (mvm_link->ap_sta_id == IWL_MVM_INVALID_STA) {
/* if we're not associated, this must be netdetect */