iwlwifi: mvm: purge the BSS table upon firmware load
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Wed, 9 Dec 2020 21:16:50 +0000 (23:16 +0200)
committerLuca Coelho <luciano.coelho@intel.com>
Wed, 9 Dec 2020 22:16:07 +0000 (00:16 +0200)
When the firmware is loaded, its internal timer (GP2) is
reset and all the time_sync in the BSS table is now
unusable. Ask cfg80211 to purge the BSS table.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201209231352.1b703b6f4c05.I0b5c51aa87e86c964e2eae6d959a96e232840ef5@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/fw.c

index 75bd05f0ba444563ba5f75ffa5cfc7a23e1dcba1..8f15f68ffc70693726f29e22d4a84fedc4865b9e 100644 (file)
@@ -402,6 +402,14 @@ static int iwl_mvm_load_ucode_wait_alive(struct iwl_mvm *mvm,
        iwl_fw_set_dbg_rec_on(&mvm->fwrt);
 #endif
 
+       /*
+        * All the BSSes in the BSS table include the GP2 in the system
+        * at the beacon Rx time, this is of course no longer relevant
+        * since we are resetting the firmware.
+        * Purge all the BSS table.
+        */
+       cfg80211_bss_flush(mvm->hw->wiphy);
+
        return 0;
 }