Prechádzať zdrojové kódy

qcacld-3.0: Failed to add PMF required AP into LFR3 channel map

PMF info isn't filled in scan filter when find AP in scan
cache to build LFR3 channel map.

Change-Id: Ibacf0ee6534298415f97fc42e5223b7d85f203e0
CRs-Fixed: 2571777
Jianmin Zhu 5 rokov pred
rodič
commit
a9c1b38b62

+ 17 - 0
core/sme/inc/csr_api.h

@@ -1486,4 +1486,21 @@ csr_send_roam_offload_init_msg(struct mac_context *mac, uint32_t vdev_id,
 
 typedef void (*csr_ani_callback)(int8_t *ani, void *context);
 
+#ifdef WLAN_FEATURE_11W
+/**
+ * csr_update_pmf_cap_from_connected_profile() - Update pmf cap from profile
+ * @profile: connected profile
+ * @filter: scan filter
+ *
+ * Return: None
+ */
+void
+csr_update_pmf_cap_from_connected_profile(tCsrRoamConnectedProfile *profile,
+					  struct scan_filter *filter);
+#else
+inline void
+csr_update_pmf_cap_from_connected_profile(tCsrRoamConnectedProfile *profile,
+					  struct scan_filter *filter)
+{}
+#endif
 #endif

+ 1 - 0
core/sme/src/csr/csr_api_scan.c

@@ -2778,6 +2778,7 @@ void csr_init_occupied_channels_list(struct mac_context *mac_ctx,
 	filter->ssid_list[0].length = profile->SSID.length;
 	qdf_mem_copy(filter->ssid_list[0].ssid, profile->SSID.ssId,
 		     profile->SSID.length);
+	csr_update_pmf_cap_from_connected_profile(profile, filter);
 
 	pdev = wlan_objmgr_get_pdev_by_id(mac_ctx->psoc, 0, WLAN_LEGACY_MAC_ID);
 

+ 1 - 6
core/sme/src/csr/csr_neighbor_roam.c

@@ -324,7 +324,7 @@ static void csr_neighbor_roam_reset_init_state_control_info(struct mac_context *
 }
 
 #ifdef WLAN_FEATURE_11W
-static void
+void
 csr_update_pmf_cap_from_connected_profile(tCsrRoamConnectedProfile *profile,
 					  struct scan_filter *filter)
 {
@@ -333,11 +333,6 @@ csr_update_pmf_cap_from_connected_profile(tCsrRoamConnectedProfile *profile,
 	if (profile->MFPRequired)
 		filter->pmf_cap = WLAN_PMF_REQUIRED;
 }
-#else
-static inline void
-csr_update_pmf_cap_from_connected_profile(tCsrRoamConnectedProfile *profile,
-					  struct scan_filter *filter)
-{}
 #endif
 
 QDF_STATUS