iwlwifi: mvm: Correctly set fragmented EBS
authorIlan Peer <ilan.peer@intel.com>
Fri, 4 Feb 2022 10:25:00 +0000 (12:25 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 13 Apr 2022 18:59:05 +0000 (20:59 +0200)
[ Upstream commit d8d4dd26b9e0469baf5017f0544d852fd4e3fb6d ]

Currently, fragmented EBS was set for a channel only if the 'hb_type'
was set to fragmented or balanced scan. However, 'hb_type' is set only
in case of CDB, and thus fragmented EBS is never set for a channel for
non-CDB devices. Fix it.

Signed-off-by: Ilan Peer <ilan.peer@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20220204122220.a6165ac9b9d5.I654eafa62fd647030ae6d4f07f32c96c3171decb@changeid
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/wireless/intel/iwlwifi/mvm/scan.c

index 5461bf3..65e3827 100644 (file)
@@ -1890,7 +1890,10 @@ static u8 iwl_mvm_scan_umac_chan_flags_v2(struct iwl_mvm *mvm,
                        IWL_SCAN_CHANNEL_FLAG_CACHE_ADD;
 
        /* set fragmented ebs for fragmented scan on HB channels */
-       if (iwl_mvm_is_scan_fragmented(params->hb_type))
+       if ((!iwl_mvm_is_cdb_supported(mvm) &&
+            iwl_mvm_is_scan_fragmented(params->type)) ||
+           (iwl_mvm_is_cdb_supported(mvm) &&
+            iwl_mvm_is_scan_fragmented(params->hb_type)))
                flags |= IWL_SCAN_CHANNEL_FLAG_EBS_FRAG;
 
        return flags;