aboutsummaryrefslogtreecommitdiffstats
path: root/queue-6.6/wifi-iwlwifi-mvm-return-uid-from-iwl_mvm_build_scan_.patch
diff options
context:
space:
mode:
Diffstat (limited to 'queue-6.6/wifi-iwlwifi-mvm-return-uid-from-iwl_mvm_build_scan_.patch')
-rw-r--r--queue-6.6/wifi-iwlwifi-mvm-return-uid-from-iwl_mvm_build_scan_.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/queue-6.6/wifi-iwlwifi-mvm-return-uid-from-iwl_mvm_build_scan_.patch b/queue-6.6/wifi-iwlwifi-mvm-return-uid-from-iwl_mvm_build_scan_.patch
new file mode 100644
index 0000000000..9a412ce17e
--- /dev/null
+++ b/queue-6.6/wifi-iwlwifi-mvm-return-uid-from-iwl_mvm_build_scan_.patch
@@ -0,0 +1,44 @@
+From 5c5dfa42df268571191ad846bddc990e08840d0a Mon Sep 17 00:00:00 2001
+From: Sasha Levin <sashal@kernel.org>
+Date: Mon, 15 Apr 2024 11:54:44 +0300
+Subject: wifi: iwlwifi: mvm: return uid from iwl_mvm_build_scan_cmd
+
+From: Miri Korenblit <miriam.rachel.korenblit@intel.com>
+
+[ Upstream commit bada85a3f584763deadd201147778c3e791d279c ]
+
+This function is supposed to return a uid on success, and an errno in
+failure.
+But it currently returns the return value of the specific cmd version
+handler, which in turn returns 0 on success and errno otherwise.
+This means that on success, iwl_mvm_build_scan_cmd will return 0
+regardless if the actual uid.
+Fix this by returning the uid if the handler succeeded.
+
+Fixes: 687db6ff5b70 ("iwlwifi: scan: make new scan req versioning flow")
+Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
+Reviewed-by: Ilan Peer <ilan.peer@intel.com>
+Link: https://msgid.link/20240415114847.5e2d602b3190.I4c4931021be74a67a869384c8f8ee7463e0c7857@changeid
+Signed-off-by: Johannes Berg <johannes.berg@intel.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/net/wireless/intel/iwlwifi/mvm/scan.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c
+index 3cbe2c0b8d6bc..03ec900a33433 100644
+--- a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c
++++ b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c
+@@ -2819,7 +2819,8 @@ static int iwl_mvm_build_scan_cmd(struct iwl_mvm *mvm,
+ if (ver_handler->version != scan_ver)
+ continue;
+
+- return ver_handler->handler(mvm, vif, params, type, uid);
++ err = ver_handler->handler(mvm, vif, params, type, uid);
++ return err ? : uid;
+ }
+
+ err = iwl_mvm_scan_umac(mvm, vif, params, type, uid);
+--
+2.43.0
+