iwlwifi: mvm: activate fragmented EBS in case of fragmented scan
In case of fragmented scan on the HB channels, configure EBS to be fragmented as well. Signed-off-by: Ayala Beker <ayala.beker@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This commit is contained in:
parent
1169310fa9
commit
930ab73c37
@ -262,6 +262,7 @@ enum iwl_scan_channel_flags {
|
|||||||
IWL_SCAN_CHANNEL_FLAG_EBS = BIT(0),
|
IWL_SCAN_CHANNEL_FLAG_EBS = BIT(0),
|
||||||
IWL_SCAN_CHANNEL_FLAG_EBS_ACCURATE = BIT(1),
|
IWL_SCAN_CHANNEL_FLAG_EBS_ACCURATE = BIT(1),
|
||||||
IWL_SCAN_CHANNEL_FLAG_CACHE_ADD = BIT(2),
|
IWL_SCAN_CHANNEL_FLAG_CACHE_ADD = BIT(2),
|
||||||
|
IWL_SCAN_CHANNEL_FLAG_EBS_FRAG = BIT(3),
|
||||||
};
|
};
|
||||||
|
|
||||||
/* struct iwl_scan_channel_opt - CHANNEL_OPTIMIZATION_API_S
|
/* struct iwl_scan_channel_opt - CHANNEL_OPTIMIZATION_API_S
|
||||||
|
@ -1455,11 +1455,21 @@ static int iwl_mvm_scan_umac(struct iwl_mvm *mvm, struct ieee80211_vif *vif,
|
|||||||
if (type == IWL_MVM_SCAN_SCHED || type == IWL_MVM_SCAN_NETDETECT)
|
if (type == IWL_MVM_SCAN_SCHED || type == IWL_MVM_SCAN_NETDETECT)
|
||||||
cmd->flags = cpu_to_le32(IWL_UMAC_SCAN_FLAG_PREEMPTIVE);
|
cmd->flags = cpu_to_le32(IWL_UMAC_SCAN_FLAG_PREEMPTIVE);
|
||||||
|
|
||||||
if (iwl_mvm_scan_use_ebs(mvm, vif))
|
if (iwl_mvm_scan_use_ebs(mvm, vif)) {
|
||||||
channel_flags = IWL_SCAN_CHANNEL_FLAG_EBS |
|
channel_flags = IWL_SCAN_CHANNEL_FLAG_EBS |
|
||||||
IWL_SCAN_CHANNEL_FLAG_EBS_ACCURATE |
|
IWL_SCAN_CHANNEL_FLAG_EBS_ACCURATE |
|
||||||
IWL_SCAN_CHANNEL_FLAG_CACHE_ADD;
|
IWL_SCAN_CHANNEL_FLAG_CACHE_ADD;
|
||||||
|
|
||||||
|
/* set fragmented ebs for fragmented scan on HB channels */
|
||||||
|
if (iwl_mvm_is_frag_ebs_supported(mvm)) {
|
||||||
|
if (gen_flags &
|
||||||
|
IWL_UMAC_SCAN_GEN_FLAGS_LMAC2_FRAGMENTED ||
|
||||||
|
(!iwl_mvm_is_cdb_supported(mvm) &&
|
||||||
|
gen_flags & IWL_UMAC_SCAN_GEN_FLAGS_FRAGMENTED))
|
||||||
|
channel_flags |= IWL_SCAN_CHANNEL_FLAG_EBS_FRAG;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
chan_param->flags = channel_flags;
|
chan_param->flags = channel_flags;
|
||||||
chan_param->count = params->n_channels;
|
chan_param->count = params->n_channels;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user