wifi: iwlwifi: mvm: Fix _iwl_mvm_get_scan_type()
authorIlan Peer <ilan.peer@intel.com>
Sun, 16 Apr 2023 12:47:28 +0000 (15:47 +0300)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 17 Apr 2023 07:53:23 +0000 (09:53 +0200)
The usage of the 'dtim_period' value was wrong, as it is only
a multiplier of the beacon interval, and thus, beacon interval should
also be considered. Fix it.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Link: https://lore.kernel.org/r/20230416154301.e08293d6cace.I25f8cea3189472bd714676ca38b121d7c60fb9d9@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/scan.c

index 7ac9bdbfe19427a03744d4100eef1205e360ec10..38b68827a4bd5b35d107ea011176db12b63827a9 100644 (file)
@@ -240,8 +240,9 @@ iwl_mvm_scan_type _iwl_mvm_get_scan_type(struct iwl_mvm *mvm,
                 * set all scan requests as fast-balance scan
                 */
                if (vif && vif->type == NL80211_IFTYPE_STATION &&
-                   vif->bss_conf.dtim_period < 220 &&
-                   data.is_dcm_with_p2p_go)
+                   data.is_dcm_with_p2p_go &&
+                   ((vif->bss_conf.beacon_int *
+                     vif->bss_conf.dtim_period) < 220))
                        return IWL_SCAN_TYPE_FAST_BALANCE;
        }