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
This commit is contained in:
Utkarsh Bhatnagar
2021-06-09 17:21:32 +05:30
کامیت شده توسط Madan Koyyalamudi
والد 77f42260f1
کامیت d6a03bf7e0
23فایلهای تغییر یافته به همراه104 افزوده شده و 169 حذف شده

مشاهده پرونده

@@ -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

مشاهده پرونده

@@ -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)

مشاهده پرونده

@@ -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;

مشاهده پرونده

@@ -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;