Browse Source

qcacld-3.0: Refactor LFR3 code to use cm api

Refactor csr_roam_pmkid_req_callback to use
mlme_cm_osif_pmksa_candidate_notify and move other
unused API under CM flag.

Change-Id: I835d54804f733eddff48de38e4c545a87f34bb30
CRs-Fixed: 2965602
Utkarsh Bhatnagar 3 years ago
parent
commit
d6a03bf7e0

+ 4 - 0
components/mlme/core/inc/wlan_mlme_main.h

@@ -403,7 +403,9 @@ struct mlme_legacy_priv {
 	struct wlan_mlme_nss_chains dynamic_cfg;
 	struct wlan_mlme_nss_chains ini_cfg;
 	uint8_t sta_dynamic_oce_value;
+#ifndef FEATURE_CM_ENABLE
 	struct mlme_roam_after_data_stall roam_invoke_params;
+#endif
 	struct wlan_disconnect_info disconnect_info;
 	uint32_t vdev_stop_type;
 	struct wlan_mlme_roam mlme_roam;
@@ -528,6 +530,7 @@ uint32_t mlme_get_vdev_he_ops(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id);
 struct wlan_mlme_nss_chains *mlme_get_ini_vdev_config(
 					struct wlan_objmgr_vdev *vdev);
 
+#ifndef FEATURE_CM_ENABLE
 /**
  * mlme_get_roam_invoke_params() - get the roam invoke params
  * @vdev: vdev pointer
@@ -547,6 +550,7 @@ mlme_get_roam_invoke_params(struct wlan_objmgr_vdev *vdev);
  */
 bool mlme_is_roam_invoke_in_progress(struct wlan_objmgr_psoc *psoc,
 				     uint8_t vdev_id);
+#endif
 /**
  * mlme_cfg_on_psoc_enable() - Populate MLME structure from CFG and INI
  * @psoc: pointer to the psoc object

+ 2 - 0
components/mlme/core/src/wlan_mlme_main.c

@@ -91,6 +91,7 @@ struct wlan_mlme_nss_chains *mlme_get_ini_vdev_config(
 	return &mlme_priv->ini_cfg;
 }
 
+#ifndef FEATURE_CM_ENABLE
 struct mlme_roam_after_data_stall *
 mlme_get_roam_invoke_params(struct wlan_objmgr_vdev *vdev)
 {
@@ -126,6 +127,7 @@ bool mlme_is_roam_invoke_in_progress(struct wlan_objmgr_psoc *psoc,
 
 	return vdev_roam_params->roam_invoke_in_progress;
 }
+#endif
 
 uint8_t *mlme_get_dynamic_oce_flags(struct wlan_objmgr_vdev *vdev)
 {

+ 2 - 0
components/mlme/dispatcher/inc/wlan_mlme_public_struct.h

@@ -264,6 +264,7 @@ struct wlan_mlme_dot11_mode {
 	uint32_t vdev_type_dot11_mode;
 };
 
+#ifndef FEATURE_CM_ENABLE
 /**
  * enum roam_invoke_source_entity - Source of invoking roam invoke command.
  * @USERSPACE_INITIATED: Userspace (supplicant)
@@ -283,6 +284,7 @@ struct mlme_roam_after_data_stall {
 	bool roam_invoke_in_progress;
 	enum roam_invoke_source_entity source;
 };
+#endif
 
 /**
  * struct mlme_edca_ac_vi - cwmin, cwmax and  aifs value for edca_ac_vi

+ 38 - 0
components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_fw_sync.c

@@ -1073,4 +1073,42 @@ void cm_fw_ho_fail_req(struct wlan_objmgr_psoc *psoc,
 		return;
 	}
 }
+
+#ifdef WLAN_FEATURE_FIPS
+QDF_STATUS cm_roam_pmkid_req_ind(struct wlan_objmgr_psoc *psoc,
+				 uint8_t vdev_id,
+				 struct roam_pmkid_req_event *src_lst)
+{
+	QDF_STATUS status = QDF_STATUS_SUCCESS;
+	struct wlan_objmgr_vdev *vdev;
+	struct qdf_mac_addr *dst_list;
+	uint32_t num_entries, i;
+
+	vdev = wlan_objmgr_get_vdev_by_id_from_psoc(psoc, vdev_id,
+						    WLAN_MLME_SB_ID);
+	if (!vdev) {
+		mlme_err("vdev object is NULL");
+		return QDF_STATUS_E_NULL_VALUE;
+	}
+
+	num_entries = src_lst->num_entries;
+	mlme_debug("Num entries %d", num_entries);
+	for (i = 0; i < num_entries; i++) {
+		dst_list = &src_lst->ap_bssid[i];
+		status = mlme_cm_osif_pmksa_candidate_notify(vdev, dst_list,
+							     1, false);
+		if (QDF_IS_STATUS_ERROR(status)) {
+			mlme_err("Number %d Notify failed for " QDF_MAC_ADDR_FMT,
+				 i, QDF_MAC_ADDR_REF(dst_list->bytes));
+			goto rel_ref;
+		}
+	}
+
+rel_ref:
+	wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_SB_ID);
+
+	return status;
+}
+#endif /* WLAN_FEATURE_FIPS */
+
 #endif // FEATURE_CM_ENABLE

+ 20 - 1
components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_i.h

@@ -167,7 +167,26 @@ void cm_fw_ho_fail_req(struct wlan_objmgr_psoc *psoc,
  */
 QDF_STATUS cm_fw_roam_invoke_fail(struct wlan_objmgr_psoc *psoc,
 				  uint8_t vdev_id);
-#else
+#ifdef WLAN_FEATURE_FIPS
+/**
+ * cm_roam_pmkid_req_ind() - Function to handle
+ * roam event from firmware for pmkid generation.
+ * @psoc: psoc pointer
+ * @vdev_id: Vdev id
+ * @bss_list: candidate AP bssid list
+ */
+QDF_STATUS
+cm_roam_pmkid_req_ind(struct wlan_objmgr_psoc *psoc,
+		      uint8_t vdev_id, struct roam_pmkid_req_event *bss_list);
+#else /* WLAN_FEATURE_FIPS */
+static inline QDF_STATUS
+cm_roam_pmkid_req_ind(struct wlan_objmgr_psoc *psoc,
+		      uint8_t vdev_id, struct roam_pmkid_req_event *bss_list)
+{
+	return QDF_STATUS_SUCCESS;
+}
+#endif /* WLAN_FEATURE_FIPS */
+#else /*WLAN_FEATURE_ROAM_OFFLOAD */
 static inline
 QDF_STATUS cm_fw_roam_invoke_fail(struct wlan_objmgr_psoc *psoc,
 				  uint8_t vdev_id)

+ 19 - 3
components/umac/mlme/connection_mgr/core/src/wlan_cm_roam_offload.c

@@ -3019,6 +3019,7 @@ cm_roam_switch_to_rso_stop(struct wlan_objmgr_pdev *pdev,
 	return QDF_STATUS_SUCCESS;
 }
 
+#ifndef FEATURE_CM_ENABLE
 static void cm_roam_roam_invoke_in_progress(struct wlan_objmgr_psoc *psoc,
 					    uint8_t vdev_id, bool set)
 {
@@ -3034,6 +3035,8 @@ static void cm_roam_roam_invoke_in_progress(struct wlan_objmgr_psoc *psoc,
 		vdev_roam_params->roam_invoke_in_progress = set;
 	wlan_objmgr_vdev_release_ref(vdev, WLAN_MLME_NB_ID);
 }
+#endif
+
 /**
  * cm_roam_switch_to_deinit() - roam state handling for roam deinit
  * @pdev: pdev pointer
@@ -3054,8 +3057,9 @@ cm_roam_switch_to_deinit(struct wlan_objmgr_pdev *pdev,
 	enum roam_offload_state cur_state = mlme_get_roam_state(psoc, vdev_id);
 	bool sup_disabled_roam;
 
+#ifndef FEATURE_CM_ENABLE
 	cm_roam_roam_invoke_in_progress(psoc, vdev_id, false);
-
+#endif
 	switch (cur_state) {
 	/*
 	 * If RSO stop is not done already, send RSO stop first and
@@ -3157,7 +3161,9 @@ cm_roam_switch_to_init(struct wlan_objmgr_pdev *pdev,
 
 	dual_sta_policy = &mlme_obj->cfg.gen.dual_sta_policy;
 
+#ifndef FEATURE_CM_ENABLE
 	cm_roam_roam_invoke_in_progress(psoc, vdev_id, false);
+#endif
 
 	dual_sta_roam_active =
 		wlan_mlme_get_dual_sta_roaming_enabled(psoc);
@@ -3419,7 +3425,12 @@ cm_roam_switch_to_roam_start(struct wlan_objmgr_pdev *pdev,
 		 * notification. Allow roam start in this condition.
 		 */
 		if (mlme_get_supplicant_disabled_roaming(psoc, vdev_id) &&
-		    mlme_is_roam_invoke_in_progress(psoc, vdev_id)) {
+#ifdef FEATURE_CM_ENABLE
+		    wlan_cm_roaming_in_progress(pdev, vdev_id)
+#else
+		    mlme_is_roam_invoke_in_progress(psoc, vdev_id)
+#endif
+		) {
 			mlme_set_roam_state(psoc, vdev_id,
 					    WLAN_ROAMING_IN_PROG);
 			break;
@@ -3482,7 +3493,12 @@ cm_roam_switch_to_roam_sync(struct wlan_objmgr_pdev *pdev,
 		 * this state transition
 		 */
 		if (mlme_get_supplicant_disabled_roaming(psoc, vdev_id) &&
-		    mlme_is_roam_invoke_in_progress(psoc, vdev_id)) {
+#ifdef FEATURE_CM_ENABLE
+		    wlan_cm_roaming_in_progress(pdev, vdev_id)
+#else
+		    mlme_is_roam_invoke_in_progress(psoc, vdev_id)
+#endif
+		    ) {
 			mlme_set_roam_state(psoc, vdev_id,
 					    WLAN_ROAM_SYNCH_IN_PROG);
 			break;

+ 10 - 0
components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_struct.h

@@ -1832,6 +1832,16 @@ struct cm_hw_mode_trans_ind {
 	struct policy_mgr_vdev_mac_map vdev_mac_map[MAX_VDEV_SUPPORTED];
 };
 
+/*
+ * struct roam_pmkid_req_event - Pmkid event with entries destination structure
+ * @num_entries: total entries sent over the event
+ * @ap_bssid: bssid list
+ */
+struct roam_pmkid_req_event {
+	uint32_t num_entries;
+	struct qdf_mac_addr ap_bssid[];
+};
+
 struct roam_offload_synch_ind {
 	uint16_t beaconProbeRespOffset;
 	uint16_t beaconProbeRespLength;

+ 0 - 6
core/hdd/src/wlan_hdd_assoc.c

@@ -4396,12 +4396,6 @@ hdd_sme_roam_callback(void *context, struct csr_roam_info *roam_info,
 		if (roam_info)
 			wlan_hdd_sae_callback(adapter, roam_info);
 		break;
-	case eCSR_ROAM_FIPS_PMK_REQUEST:
-		/* notify the supplicant of a new candidate */
-		qdf_ret_status = wlan_hdd_cfg80211_pmksa_candidate_notify(
-					adapter, roam_info, 1, false);
-		break;
-
 	default:
 		break;
 	}

+ 0 - 2
core/hdd/src/wlan_hdd_cfg80211.c

@@ -19171,7 +19171,6 @@ wlan_hdd_cfg80211_update_bss_db(struct hdd_adapter *adapter,
 	}
 	return bss;
 }
-#endif
 
 /**
  * wlan_hdd_cfg80211_pmksa_candidate_notify() - notify a new PMSKA candidate
@@ -19208,7 +19207,6 @@ int wlan_hdd_cfg80211_pmksa_candidate_notify(struct hdd_adapter *adapter,
 	return 0;
 }
 
-#ifndef FEATURE_CM_ENABLE
 #ifdef FEATURE_WLAN_LFR_METRICS
 /**
  * wlan_hdd_cfg80211_roam_metrics_preauth() - roam metrics preauth

+ 1 - 1
core/hdd/src/wlan_hdd_cfg80211.h

@@ -336,10 +336,10 @@ wlan_hdd_wifi_test_config_policy[
 			      QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_MAX) \
 },
 
+#ifndef FEATURE_CM_ENABLE
 int wlan_hdd_cfg80211_pmksa_candidate_notify(struct hdd_adapter *adapter,
 					struct csr_roam_info *roam_info,
 					int index, bool preauth);
-#ifndef FEATURE_CM_ENABLE
 #ifdef FEATURE_WLAN_LFR_METRICS
 QDF_STATUS
 wlan_hdd_cfg80211_roam_metrics_preauth(struct hdd_adapter *adapter,

+ 1 - 4
core/hdd/src/wlan_hdd_main.c

@@ -18446,10 +18446,7 @@ bool hdd_is_roaming_in_progress(struct hdd_context *hdd_ctx)
 					   dbgid) {
 		vdev_id = adapter->vdev_id;
 		if (adapter->device_mode == QDF_STA_MODE &&
-		    (MLME_IS_ROAM_SYNCH_IN_PROGRESS(hdd_ctx->psoc, vdev_id) ||
-		     MLME_IS_ROAMING_IN_PROG(hdd_ctx->psoc, vdev_id) ||
-		     mlme_is_roam_invoke_in_progress(hdd_ctx->psoc,
-						      vdev_id))) {
+		    sme_roaming_in_progress(hdd_ctx->mac_handle, vdev_id)) {
 			hdd_debug("Roaming is in progress on:vdev_id:%d",
 				  adapter->vdev_id);
 			hdd_adapter_dev_put_debug(adapter, dbgid);

+ 0 - 15
core/mac/inc/sir_api.h

@@ -592,20 +592,6 @@ typedef QDF_STATUS
 		     uint8_t session_id, uint8_t reason,
 		     enum wlan_cm_rso_control_requestor requestor);
 
-/**
- * typedef csr_roam_pmkid_req_fn_t - pmkid generation fallback event pointer
- * @vdev_id: Vdev id
- * @bss_list: candidate AP bssid list
- *
- * This type is for callbacks registered with CSR to handle roam event from
- * firmware for pmkid generation fallback
- *
- * Return: Success or Failure.
- */
-typedef QDF_STATUS
-(*csr_roam_pmkid_req_fn_t)(uint8_t vdev_id,
-			   struct roam_pmkid_req_event *bss_list);
-
 /* / Definition for indicating all modules ready on STA */
 struct sme_ready_req {
 	uint16_t messageType;   /* eWNI_SME_SYS_READY_IND */
@@ -625,7 +611,6 @@ struct sme_ready_req {
 					uint8_t *deauth_disassoc_frame,
 					uint16_t deauth_disassoc_frame_len,
 					uint16_t reason_code);
-	csr_roam_pmkid_req_fn_t csr_roam_pmkid_req_cb;
 };
 
 /**

+ 1 - 2
core/mac/src/pe/lim/lim_api.c

@@ -1336,8 +1336,7 @@ void pe_register_callbacks_with_wma(struct mac_context *mac,
 #endif
 			ready_req->csr_roam_auth_event_handle_cb,
 			ready_req->pe_roam_synch_cb,
-			ready_req->pe_disconnect_cb,
-			ready_req->csr_roam_pmkid_req_cb);
+			ready_req->pe_disconnect_cb);
 	if (status != QDF_STATUS_SUCCESS)
 		pe_err("Registering roaming callbacks with WMA failed");
 }

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

@@ -354,7 +354,6 @@ typedef enum {
 	eCSR_ROAM_CHANNEL_COMPLETE_IND = 47,
 	eCSR_ROAM_CAC_COMPLETE_IND = 48,
 	eCSR_ROAM_SAE_COMPUTE = 49,
-	eCSR_ROAM_FIPS_PMK_REQUEST = 50,
 } eRoamCmdStatus;
 
 /* comment inside indicates what roaming callback gets */

+ 0 - 40
core/sme/inc/csr_neighbor_roam.h

@@ -208,40 +208,6 @@ QDF_STATUS csr_fast_reassoc(mac_handle_t mac_handle,
 			    const tSirMacAddr bssid, uint32_t ch_freq,
 			    uint8_t vdev_id, const tSirMacAddr connected_bssid);
 #endif
-#ifdef WLAN_FEATURE_FIPS
-/**
- * csr_roam_pmkid_req_callback() - Registered CSR Callback function to handle
- * roam event from firmware for pmkid generation fallback.
- * @vdev_id: Vdev id
- * @bss_list: candidate AP bssid list
- */
-QDF_STATUS
-csr_roam_pmkid_req_callback(uint8_t vdev_id,
-			    struct roam_pmkid_req_event *bss_list);
-
-/**
- * csr_process_roam_pmkid_req_callback() - API to trigger the pmkid
- * generation fallback event for candidate AP received from firmware.
- * @mac_ctx: Global mac context pointer
- * @vdev_id: Vdev id
- * @roam_bsslist: roam candidate AP bssid list
- *
- * This function calls the hdd_sme_roam_callback with reason
- * eCSR_ROAM_FIPS_PMK_REQUEST to trigger pmkid generation in supplicant.
- */
-QDF_STATUS
-csr_process_roam_pmkid_req_callback(struct mac_context *mac_ctx,
-				    uint8_t vdev_id,
-				    struct roam_pmkid_req_event *roam_bsslist);
-#else
-static inline QDF_STATUS
-csr_roam_pmkid_req_callback(uint8_t vdev_id,
-			    struct roam_pmkid_req_event *bss_list)
-{
-	return QDF_STATUS_SUCCESS;
-}
-#endif /* WLAN_FEATURE_FIPS */
-
 #else
 #ifndef FEATURE_CM_ENABLE
 static inline QDF_STATUS csr_roam_synch_callback(struct mac_context *mac,
@@ -269,12 +235,6 @@ QDF_STATUS csr_fast_reassoc(mac_handle_t mac_handle,
 	return QDF_STATUS_SUCCESS;
 }
 #endif
-static inline QDF_STATUS
-csr_roam_pmkid_req_callback(uint8_t vdev_id,
-			    struct roam_pmkid_req_event *bss_list)
-{
-	return QDF_STATUS_E_NOSUPPORT;
-}
 #endif
 /**
  * csr_invoke_neighbor_report_request - Send neighbor report invoke command to

+ 0 - 2
core/sme/src/common/sme_api.c

@@ -1165,8 +1165,6 @@ QDF_STATUS sme_hdd_ready_ind(mac_handle_t mac_handle)
 		msg->stop_roaming_cb = sme_stop_roaming;
 		msg->csr_roam_auth_event_handle_cb =
 				csr_roam_auth_offload_callback;
-		msg->csr_roam_pmkid_req_cb = csr_roam_pmkid_req_callback;
-
 		status = u_mac_post_ctrl_msg(mac_handle, (tSirMbMsg *)msg);
 		if (QDF_IS_STATUS_ERROR(status)) {
 			sme_err("u_mac_post_ctrl_msg failed to send eWNI_SME_SYS_READY_IND");

+ 0 - 67
core/sme/src/csr/csr_api_roam.c

@@ -14422,73 +14422,6 @@ QDF_STATUS csr_get_snr(struct mac_context *mac,
 	return status;
 }
 
-#ifdef WLAN_FEATURE_ROAM_OFFLOAD
-#ifdef WLAN_FEATURE_FIPS
-QDF_STATUS
-csr_process_roam_pmkid_req_callback(struct mac_context *mac_ctx,
-				    uint8_t vdev_id,
-				    struct roam_pmkid_req_event *src_lst)
-{
-	struct csr_roam_info *roam_info;
-	struct csr_roam_session *session = CSR_GET_SESSION(mac_ctx, vdev_id);
-	struct qdf_mac_addr *dst_list;
-	QDF_STATUS status;
-	uint32_t num_entries, i;
-
-	if (!session)
-		return QDF_STATUS_E_NULL_VALUE;
-
-	roam_info = qdf_mem_malloc(sizeof(*roam_info));
-	if (!roam_info)
-		return QDF_STATUS_E_NOMEM;
-
-	num_entries = src_lst->num_entries;
-	for (i = 0; i < num_entries; i++) {
-		dst_list = &src_lst->ap_bssid[i];
-		qdf_copy_macaddr(&roam_info->bssid, dst_list);
-
-		status = csr_roam_call_callback(mac_ctx, vdev_id, roam_info,
-						0, eCSR_ROAM_FIPS_PMK_REQUEST,
-						eCSR_ROAM_RESULT_NONE);
-		if (QDF_IS_STATUS_ERROR(status)) {
-			sme_err("Trigger pmkid fallback failed");
-			qdf_mem_free(roam_info);
-			return status;
-		}
-	}
-	qdf_mem_free(roam_info);
-
-	return QDF_STATUS_SUCCESS;
-}
-
-QDF_STATUS
-csr_roam_pmkid_req_callback(uint8_t vdev_id,
-			    struct roam_pmkid_req_event *src_lst)
-{
-	QDF_STATUS status;
-	struct mac_context *mac_ctx;
-
-	mac_ctx = cds_get_context(QDF_MODULE_ID_PE);
-	if (!mac_ctx) {
-		QDF_ASSERT(0);
-		return -EINVAL;
-	}
-
-	status = sme_acquire_global_lock(&mac_ctx->sme);
-	if (!QDF_IS_STATUS_SUCCESS(status)) {
-		sme_err("Locking failed, bailing out");
-		return status;
-	}
-
-	status = csr_process_roam_pmkid_req_callback(mac_ctx, vdev_id,
-						     src_lst);
-	sme_release_global_lock(&mac_ctx->sme);
-
-	return status;
-}
-#endif /* WLAN_FEATURE_FIPS */
-#endif /* WLAN_FEATURE_ROAM_OFFLOAD */
-
 #if defined(WLAN_FEATURE_HOST_ROAM) || defined(WLAN_FEATURE_ROAM_OFFLOAD)
 QDF_STATUS csr_invoke_neighbor_report_request(
 				uint8_t session_id,

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

@@ -218,7 +218,6 @@ const char *get_e_roam_cmd_status_str(eRoamCmdStatus val)
 #endif
 		CASE_RETURN_STR(eCSR_ROAM_CHANNEL_COMPLETE_IND);
 		CASE_RETURN_STR(eCSR_ROAM_SAE_COMPUTE);
-		CASE_RETURN_STR(eCSR_ROAM_FIPS_PMK_REQUEST);
 	default:
 		return "unknown";
 	}

+ 0 - 2
core/wma/inc/wma.h

@@ -1017,8 +1017,6 @@ typedef struct {
 					uint8_t *deauth_disassoc_frame,
 					uint16_t deauth_disassoc_frame_len,
 					uint16_t reason_code);
-	QDF_STATUS (*csr_roam_pmkid_req_cb)(uint8_t vdev_id,
-		struct roam_pmkid_req_event *bss_list);
 	qdf_wake_lock_t wmi_cmd_rsp_wake_lock;
 	qdf_runtime_lock_t wmi_cmd_rsp_runtime_lock;
 	qdf_runtime_lock_t sap_prevent_runtime_pm_lock;

+ 0 - 11
core/wma/inc/wma_if.h

@@ -801,15 +801,4 @@ struct roam_blacklist_event {
 	uint32_t num_entries;
 	struct roam_blacklist_timeout roam_blacklist[];
 };
-
-/*
- * struct roam_pmkid_req_event - Pmkid event with entries destination structure
- * @num_entries: total entries sent over the event
- * @ap_bssid: bssid list
- */
-struct roam_pmkid_req_event {
-	uint32_t num_entries;
-	struct qdf_mac_addr ap_bssid[];
-};
-
 #endif /* _HALMSGAPI_H_ */

+ 2 - 4
core/wma/inc/wma_types.h

@@ -738,8 +738,7 @@ QDF_STATUS wma_register_roaming_callbacks(
 			uint8_t vdev_id,
 			uint8_t *deauth_disassoc_frame,
 			uint16_t deauth_disassoc_frame_len,
-			uint16_t reason_code),
-		csr_roam_pmkid_req_fn_t csr_roam_pmkid_req_cb);
+			uint16_t reason_code));
 #else
 static inline QDF_STATUS wma_register_roaming_callbacks(
 #ifndef FEATURE_CM_ENABLE
@@ -754,8 +753,7 @@ static inline QDF_STATUS wma_register_roaming_callbacks(
 			uint8_t vdev_id,
 			uint8_t *deauth_disassoc_frame,
 			uint16_t deauth_disassoc_frame_len,
-			uint16_t reason_code),
-		csr_roam_pmkid_req_fn_t csr_roam_pmkid_req_cb)
+			uint16_t reason_code))
 {
 	return QDF_STATUS_E_NOSUPPORT;
 }

+ 2 - 5
core/wma/src/wma_mgmt.c

@@ -3759,9 +3759,8 @@ QDF_STATUS wma_de_register_mgmt_frm_client(void)
 /**
  * wma_register_roaming_callbacks() - Register roaming callbacks
  * @csr_roam_synch_cb: CSR roam synch callback routine pointer
- * @pe_roam_synch_cb: PE roam synch callback routine pointer
  * @csr_roam_auth_event_handle_cb: CSR callback routine pointer
- * @csr_roam_pmkid_req_cb: CSR roam pmkid callback routine pointer
+ * @pe_roam_synch_cb: PE roam synch callback routine pointer
  *
  * Register the SME and PE callback routines with WMA for
  * handling roaming
@@ -3780,8 +3779,7 @@ QDF_STATUS wma_register_roaming_callbacks(
 					uint8_t vdev_id,
 					uint8_t *deauth_disassoc_frame,
 					uint16_t deauth_disassoc_frame_len,
-					uint16_t reason_code),
-	csr_roam_pmkid_req_fn_t csr_roam_pmkid_req_cb)
+					uint16_t reason_code))
 {
 
 	tp_wma_handle wma = cds_get_context(QDF_MODULE_ID_WMA);
@@ -3797,7 +3795,6 @@ QDF_STATUS wma_register_roaming_callbacks(
 	wma->pe_disconnect_cb = pe_disconnect_cb;
 	wma_debug("Registered roam synch callbacks with WMA successfully");
 
-	wma->csr_roam_pmkid_req_cb = csr_roam_pmkid_req_cb;
 	return QDF_STATUS_SUCCESS;
 }
 #endif

+ 2 - 2
core/wma/src/wma_scan_roam.c

@@ -4884,8 +4884,8 @@ int wma_roam_pmkid_request_event_handler(void *handle, uint8_t *event,
 	}
 	dst_list->num_entries = num_entries;
 
-	status = wma->csr_roam_pmkid_req_cb(roam_pmkid_req_ev->vdev_id,
-					    dst_list);
+	status = cm_roam_pmkid_req_ind(wma->psoc, roam_pmkid_req_ev->vdev_id,
+				       dst_list);
 	if (QDF_IS_STATUS_ERROR(status)) {
 		wma_err("Pmkid request failed");
 		qdf_mem_free(dst_list);