diff --git a/umac/scan/core/src/wlan_scan_filter.c b/umac/scan/core/src/wlan_scan_filter.c index 5973f16285..83194a766a 100644 --- a/umac/scan/core/src/wlan_scan_filter.c +++ b/umac/scan/core/src/wlan_scan_filter.c @@ -529,7 +529,8 @@ static bool scm_is_rsn_security(struct scan_filter *filter, if (!match) return false; - match = scm_check_pmf_match(filter, &rsn); + if (!filter->ignore_pmf_cap) + match = scm_check_pmf_match(filter, &rsn); if (match) { security->auth_type = neg_auth; diff --git a/umac/scan/dispatcher/inc/wlan_scan_public_structs.h b/umac/scan/dispatcher/inc/wlan_scan_public_structs.h index 6a7dd4a6cb..50325d7e58 100644 --- a/umac/scan/dispatcher/inc/wlan_scan_public_structs.h +++ b/umac/scan/dispatcher/inc/wlan_scan_public_structs.h @@ -495,6 +495,7 @@ struct fils_filter_info { * @num_of_enc_type: number of unicast enc type * @num_of_mc_enc_type: number of multicast enc type * @pmf_cap: Pmf capability + * @ignore_pmf_cap: Ignore pmf capability match * @num_of_pcl_channels: number of pcl channels * @bss_type: bss type BSS/IBSS etc * @dot11_mode: operating modes 0 mean any @@ -530,6 +531,7 @@ struct scan_filter { uint32_t num_of_enc_type; uint32_t num_of_mc_enc_type; enum wlan_pmf_cap pmf_cap; + bool ignore_pmf_cap; uint32_t num_of_pcl_channels; enum wlan_bss_type bss_type; enum wlan_phymode dot11_mode;