iwlwifi: mvm: fix extended dwell time

FW adds 10 msec for every dwell time in low band, so we need
to set 10 msec less.
Don't use extended dwell time when fragmented scan is needed
because FW adds 3 msec per probe and it can easily exceed
max out of channel time.

Fixes: c3e230b167 ("iwlwifi: mvm: add extended dwell time")
Signed-off-by: David Spinadel <david.spinadel@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
This commit is contained in:
David Spinadel 2016-01-03 17:08:32 +02:00 committed by Emmanuel Grumbach
parent 488c28e110
commit ca95ff3a9f
1 changed files with 7 additions and 6 deletions

View File

@ -92,7 +92,7 @@ static struct iwl_mvm_scan_timing_params scan_timing[] = {
.dwell_active = 10,
.dwell_passive = 110,
.dwell_fragmented = 44,
.dwell_extended = 100,
.dwell_extended = 90,
.suspend_time = 0,
.max_out_time = 0,
},
@ -100,7 +100,7 @@ static struct iwl_mvm_scan_timing_params scan_timing[] = {
.dwell_active = 10,
.dwell_passive = 110,
.dwell_fragmented = 44,
.dwell_extended = 100,
.dwell_extended = 90,
.suspend_time = 30,
.max_out_time = 120,
},
@ -108,7 +108,7 @@ static struct iwl_mvm_scan_timing_params scan_timing[] = {
.dwell_active = 10,
.dwell_passive = 110,
.dwell_fragmented = 44,
.dwell_extended = 100,
.dwell_extended = 90,
.suspend_time = 120,
.max_out_time = 120,
},
@ -116,7 +116,6 @@ static struct iwl_mvm_scan_timing_params scan_timing[] = {
.dwell_active = 10,
.dwell_passive = 110,
.dwell_fragmented = 44,
.dwell_extended = 44,
.suspend_time = 95,
.max_out_time = 44,
},
@ -790,7 +789,8 @@ static int iwl_mvm_scan_lmac_flags(struct iwl_mvm *mvm,
#endif
if (iwl_mvm_is_regular_scan(params) &&
vif->type != NL80211_IFTYPE_P2P_DEVICE)
vif->type != NL80211_IFTYPE_P2P_DEVICE &&
params->type != IWL_SCAN_TYPE_FRAGMENTED)
flags |= IWL_MVM_LMAC_SCAN_FLAG_EXTENDED_DWELL;
return flags;
@ -1072,7 +1072,8 @@ static u32 iwl_mvm_scan_umac_flags(struct iwl_mvm *mvm,
#endif
if (iwl_mvm_is_regular_scan(params) &&
vif->type != NL80211_IFTYPE_P2P_DEVICE)
vif->type != NL80211_IFTYPE_P2P_DEVICE &&
params->type != IWL_SCAN_TYPE_FRAGMENTED)
flags |= IWL_UMAC_SCAN_GEN_FLAGS_EXTENDED_DWELL;
return flags;