OSDN Git Service

iwlwifi: mvm: clear all scan UIDs
authorAyala Beker <ayala.beker@intel.com>
Wed, 30 Sep 2020 16:19:51 +0000 (19:19 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Thu, 1 Oct 2020 19:02:23 +0000 (22:02 +0300)
In case of nic restart flow is called in the middle of scan abort
flow, aborted scan UIDs might not be cleared.

Fix it and clean these UIDs as well.

Signed-off-by: Ayala Beker <ayala.beker@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20200930191738.71aacc1a0358.Ie53f7ab07b42e6a5223f33e201b0f862ebda8986@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/scan.c

index 02e3b70..05e0686 100644 (file)
@@ -2628,6 +2628,15 @@ void iwl_mvm_report_scan_aborted(struct iwl_mvm *mvm)
                        mvm->sched_scan_pass_all = SCHED_SCAN_PASS_ALL_DISABLED;
                        mvm->scan_uid_status[uid] = 0;
                }
+               uid = iwl_mvm_scan_uid_by_status(mvm,
+                                                IWL_MVM_SCAN_STOPPING_REGULAR);
+               if (uid >= 0)
+                       mvm->scan_uid_status[uid] = 0;
+
+               uid = iwl_mvm_scan_uid_by_status(mvm,
+                                                IWL_MVM_SCAN_STOPPING_SCHED);
+               if (uid >= 0)
+                       mvm->scan_uid_status[uid] = 0;
 
                /* We shouldn't have any UIDs still set.  Loop over all the
                 * UIDs to make sure there's nothing left there and warn if