diff --git a/components/mlme/core/inc/wlan_mlme_main.h b/components/mlme/core/inc/wlan_mlme_main.h index 28895365ff8b..faa42fa7c935 100644 --- a/components/mlme/core/inc/wlan_mlme_main.h +++ b/components/mlme/core/inc/wlan_mlme_main.h @@ -162,6 +162,7 @@ struct wlan_mlme_roam { * @sae_auth_retry: SAE auth retry information * @roam_reason_better_ap: roam due to better AP found * @better_ap_hb_failure_rssi: heartbeat failure AP RSSI + * @fils_con_info: Pointer to fils connection info from csr roam profile */ struct mlme_legacy_priv { bool chan_switch_in_progress; @@ -184,6 +185,9 @@ struct mlme_legacy_priv { struct sae_auth_retry sae_retry; bool roam_reason_better_ap; uint32_t hb_failure_rssi; +#ifdef WLAN_FEATURE_FILS_SK + struct wlan_fils_connection_info fils_con_info; +#endif }; /** diff --git a/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h b/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h index aec507c25590..8b1134077b73 100644 --- a/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h +++ b/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h @@ -28,6 +28,8 @@ #include #include +#define CFG_VALID_CHANNEL_LIST_LEN 100 + #define CFG_PMKID_MODES_OKC (0x1) #define CFG_PMKID_MODES_PMKSA_CACHING (0x2) @@ -498,6 +500,46 @@ struct mlme_ht_info_field_2 { } qdf_packed; #endif +#ifdef WLAN_FEATURE_FILS_SK +#define FILS_MAX_KEYNAME_NAI_LENGTH 253 +#define FILS_MAX_REALM_LEN 255 +#define FILS_MAX_RRK_LENGTH 64 +#define FILS_MAX_RIK_LENGTH FILS_MAX_RRK_LENGTH + +/** + * struct wlan_fils_connection_info - Fils connection parameters + * @is_fils_connection: flag to indicate if the connection is done using + * authentication algorithm as 4 + * @keyname_nai: key name network access identifier + * @key_nai_length: key name network access identifier length + * @sequence_number: FILS ERP sequence number + * @r_rk: re-authentication Root Key length + * @r_rk_length: reauthentication root keys length + * @realm: Realm name + * @realm_len: Realm length + * @akm_type: FILS connection akm + * @auth_type: FILS Authentication Algorithm + * @pmk: Pairwise master key + * @pmk_len: Pairwise master key length + * @pmkid: Pairwise master key ID + */ +struct wlan_fils_connection_info { + bool is_fils_connection; + uint8_t keyname_nai[FILS_MAX_KEYNAME_NAI_LENGTH]; + uint32_t key_nai_length; + uint16_t sequence_number; + uint8_t r_rk[FILS_MAX_RRK_LENGTH]; + uint32_t r_rk_length; + uint8_t realm[FILS_MAX_REALM_LEN]; + uint32_t realm_len; + uint8_t akm_type; + uint8_t auth_type; + uint8_t pmk[MAX_PMK_LEN]; + uint8_t pmk_len; + uint8_t pmkid[PMKID_LEN]; +}; +#endif + /** * struct mlme_ht_info_field_3 - Additional HT IE Field3 * @reserved: reserved bits diff --git a/components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_struct.h b/components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_struct.h index 05795424a9f3..1224c6142b4f 100644 --- a/components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_struct.h +++ b/components/umac/mlme/connection_mgr/dispatcher/inc/wlan_cm_roam_public_struct.h @@ -618,6 +618,263 @@ struct wlan_per_roam_config_req { #define RSSI_MIN_VALUE (-128) #define RSSI_MAX_VALUE (127) +#define WLAN_FILS_MAX_RRK_LENGTH 64 +#define WLAN_FILS_MAX_RIK_LENGTH 64 +#define WLAN_FILS_MAX_REALM_LENGTH 256 +#define WLAN_FILS_MAX_USERNAME_LENGTH 16 +#define WLAN_FILS_FT_MAX_LEN 48 + +/** + * struct wlan_roam_fils_params - Roaming FILS params + * @next_erp_seq_num: next ERP sequence number + * @username: username + * @username_length: username length + * @rrk: RRK + * @rrk_length: length of @rrk + * @rik: RIK + * @rik_length: length of @rik + * @realm: realm + * @realm_len: length of @realm + * @fils_ft: xx_key for FT-FILS connection + * @fils_ft_len: length of FT-FILS + */ +struct wlan_roam_fils_params { + uint32_t next_erp_seq_num; + uint8_t username[WLAN_FILS_MAX_USERNAME_LENGTH]; + uint32_t username_length; + uint8_t rrk[WLAN_FILS_MAX_RRK_LENGTH]; + uint32_t rrk_length; + uint8_t rik[WLAN_FILS_MAX_RIK_LENGTH]; + uint32_t rik_length; + uint8_t realm[WLAN_FILS_MAX_REALM_LENGTH]; + uint32_t realm_len; + uint8_t fils_ft[WLAN_FILS_FT_MAX_LEN]; + uint8_t fils_ft_len; +}; + +/** + * struct wlan_roam_scan_params - Roaming scan parameters + * @vdev_id: vdev id + * @dwell_time_passive: dwell time in msec on passive channels + * @dwell_time_active: dwell time in msec on active channels + * @burst_duration: Burst duration time in msec + * @min_rest_time: min time in msec on the BSS channel,only valid if atleast + * one VDEV is active + * @max_rest_time: max rest time in msec on the BSS channel,only valid if + * at least one VDEV is active + * @probe_spacing_time: time in msec between 2 consequetive probe requests with + * in a set + * @probe_delay: delay in msec before sending first probe request after + * switching to a channel + * @repeat_probe_time: time in msec between 2 consequetive probe requests within + * a set + * @max_scan_time: maximum time in msec allowed for scan + * @idle_time: data inactivity time in msec on bss channel that will be used by + * scanner for measuring the inactivity + * @n_probes: Max number of probes to be sent + * @scan_ctrl_flags: Scan control flags + * @scan_ctrl_flags_ext: Scan control flags extended + * @num_chan: number of channels + * @num_bssid: number of bssids in tlv bssid_list[] + * @ie_len: number of bytes in ie data. In the TLV ie_data[] + * @dwell_time_active_2g: dwell time in msec on active 2G channels. + * @dwell_time_active_6ghz: dwell time in msec when 6 GHz channel + * @dwell_time_passive_6ghz: Passive scan dwell time in msec for 6Ghz channel. + * @scan_start_offset: Offset time is in milliseconds per channel + */ +struct wlan_roam_scan_params { + uint32_t vdev_id; + uint32_t dwell_time_passive; + uint32_t dwell_time_active; + uint32_t burst_duration; + uint32_t min_rest_time; + uint32_t max_rest_time; + uint32_t probe_spacing_time; + uint32_t probe_delay; + uint32_t repeat_probe_time; + uint32_t max_scan_time; + uint32_t idle_time; + uint32_t n_probes; + uint32_t scan_ctrl_flags; + uint32_t scan_ctrl_flags_ext; + uint32_t num_chan; + uint32_t num_bssid; + uint32_t ie_len; + uint32_t dwell_time_active_2g; + uint32_t dwell_time_active_6ghz; + uint32_t dwell_time_passive_6ghz; + uint32_t scan_start_offset; +}; + +/** + * struct wlan_roam_scan_mode_params - WMI_ROAM_SCAN_MODE command fixed_param + * wmi_roam_scan_mode_fixed_param related params + * @roam_scan_mode: Roam scan mode flags + * @min_delay_btw_scans: Minimum duration allowed between two consecutive roam + * scans in millisecs. + * @min_delay_roam_trigger_bitmask: Roaming triggers for which the min delay + * between roam scans is applicable(bitmask of enum WMI_ROAM_TRIGGER_REASON_ID) + */ +struct wlan_roam_scan_mode_params { + uint32_t roam_scan_mode; + uint32_t min_delay_btw_scans; + uint32_t min_delay_roam_trigger_bitmask; +}; + +#ifdef WLAN_FEATURE_ROAM_OFFLOAD +/** + * struct wlan_rso_lfr3_params - LFR-3.0 roam offload params to be filled + * in the wmi_roam_offload_tlv_param TLV of WMI_ROAM_SCAN_MODE command. + * @roam_rssi_cat_gap: RSSI category gap + * @prefer_5ghz: Prefer 5G candidate AP + * @select_5gz_margin: Prefer connecting to 5G AP even if its RSSI is lower by + * select_5g_margin dBm + * @reassoc_failure_timeout: reassociation response failure timeout + * @ho_delay_for_rx: Time in millisecs to delay hand-off by this duration to + * receive pending Rx frames from current BSS + * @roam_retry_count: maximum number of software retries for preauth and + * reassoc req + * @roam_preauth_no_ack_timeout: duration in millsecs to wait before another SW + * retry made if no ack seen for previous frame + * @diable_self_roam: Disable roaming to current connected BSS. + * @rct_validity_timer: duration value for which the entries in + * roam candidate table(rct) are valid + */ +struct wlan_rso_lfr3_params { + uint8_t roam_rssi_cat_gap; + uint8_t prefer_5ghz; + uint8_t select_5ghz_margin; + uint32_t reassoc_failure_timeout; + uint32_t ho_delay_for_rx; + uint32_t roam_retry_count; + uint32_t roam_preauth_no_ack_timeout; + bool disable_self_roam; + uint32_t rct_validity_timer; +}; + +#define WLAN_ROAM_OFFLOAD_NUM_MCS_SET (16) +/** + * struct wlan_lfr3_roam_offload_param - LFR3 Roaming offload parameters + * @capability: RSN capabilities + * @ht_caps_info: HT capabilities information + * @ampdu_param: AMPDU configs + * @ht_ext_cap: HT extended capabilities info + * @ht_txbf: HT Tx Beamform capabilities + * @asel_cap: Antena selection capabilities + * @qos_enabled: QoS enabled + * @qos_caps: QoS capabilities + * @wmm_caps: WMM capabilities + * @mcsset: MCS set + */ +struct wlan_rso_lfr3_caps { + uint32_t capability; + uint32_t ht_caps_info; + uint32_t ampdu_param; + uint32_t ht_ext_cap; + uint32_t ht_txbf; + uint32_t asel_cap; + uint32_t qos_enabled; + uint32_t qos_caps; + uint32_t wmm_caps; + /* since this is 4 byte aligned, we don't declare it as tlv array */ + uint32_t mcsset[WLAN_ROAM_OFFLOAD_NUM_MCS_SET >> 2]; +}; + +/** + * struct wlan_rso_11i_params - LFR-3.0 related parameters to be filled in + * wmi_roam_11i_offload_tlv_param TLV in the WMI_ROAM_SCAN_MODE command. + * @roam_key_mgmt_offload_enabled: Enable 4-way HS offload to firmware + * @fw_okc: use OKC in firmware + * @fw_pmksa_cache: use PMKSA cache in firmware + * @is_sae_same_pmk: Flag to indicate fw whether WLAN_SAE_SINGLE_PMK feature is + * enable or not + * @psk_pmk: pre shared key/pairwise master key + * @pmk_len: length of PMK + */ +struct wlan_rso_11i_params { + bool roam_key_mgmt_offload_enabled; + bool fw_okc; + bool fw_pmksa_cache; + bool is_sae_same_pmk; + uint8_t psk_pmk[WMI_ROAM_SCAN_PSK_SIZE]; + uint32_t pmk_len; +}; + +/** + * struct wlan_rso_11r_params - LFR-3.0 parameters to fill + * wmi_roam_11r_offload_tlv_param TLV related info in WMI_ROAM_SCAN_MODE command + * @enable_ft_im_roaming: Flag to enable/disable FT-IM roaming upon receiving + * deauth + * @rokh_id_length: r0kh id length + * @rokh_id: r0kh id + * @mdid: mobility domain info + */ +struct wlan_rso_11r_params { + bool is_11r_assoc; + bool is_adaptive_11r; + bool enable_ft_im_roaming; + uint32_t r0kh_id_length; + uint8_t r0kh_id[WMI_ROAM_R0KH_ID_MAX_LEN]; + struct mobility_domain_info mdid; +}; + +/** + * struct wlan_rso_ese_params - LFR-3.0 parameters to fill the + * wmi_roam_ese_offload_tlv_param TLV related info in WMI_ROAM_SCAN_MODE command + * @is_ese_assoc: flag to determine ese assoc + * @krk: KRK + * @btk: BTK + */ +struct wlan_rso_ese_params { + bool is_ese_assoc; + uint8_t krk[WMI_KRK_KEY_LEN]; + uint8_t btk[WMI_BTK_KEY_LEN]; +}; +#endif + +/** + * struct roam_offload_scan_params - structure containing roaming offload scan + * parameters to be filled over WMI_ROAM_SCAN_MODE command. + * @vdev_id: vdev id + * @is_rso_stop: flag to tell whether roam req is valid or NULL + * @rso_mode_info: Roam scan mode related parameters + * @scan_params: Roaming scan related parameters + * @assoc_ie_length: Assoc IE length + * @assoc_ie: Assoc IE buffer + * @roam_offload_enabled: flag for offload enable + * @add_fils_tlv: add FILS TLV boolean + * @akm: authentication key management mode + * @rso_lfr3_params: Candidate selection and other lfr-3.0 offload parameters + * @rso_lfr3_caps: Self capabilities + * @rso_11i_info: PMK, PMKSA, SAE single PMK related parameters + * @rso_11r_info: FT related parameters + * @rso_ese_info: ESE related parameters + * @fils_roam_config: roam fils params + */ +struct wlan_roam_scan_offload_params { + uint32_t vdev_id; + uint8_t is_rso_stop; + /* Parameters common for LFR-3.0 and LFR-2.0 */ + struct wlan_roam_scan_mode_params rso_mode_info; + struct wlan_roam_scan_params scan_params; + uint32_t assoc_ie_length; + uint8_t assoc_ie[MAX_ASSOC_IE_LENGTH]; +#ifdef WLAN_FEATURE_ROAM_OFFLOAD + /* Parameters specific to LFR-3.0 */ + bool roam_offload_enabled; + bool add_fils_tlv; + int akm; + struct wlan_rso_lfr3_params rso_lfr3_params; + struct wlan_rso_lfr3_caps rso_lfr3_caps; + struct wlan_rso_11i_params rso_11i_info; + struct wlan_rso_11r_params rso_11r_info; + struct wlan_rso_ese_params rso_ese_info; +#ifdef WLAN_FEATURE_FILS_SK + struct wlan_roam_fils_params fils_roam_config; +#endif +#endif +}; + /** * struct wlan_roam_offload_scan_rssi_params - structure containing * parameters for roam offload scan based on RSSI @@ -751,6 +1008,7 @@ struct wlan_roam_start_config { struct wlan_roam_reason_vsie_enable reason_vsie_enable; struct wlan_roam_triggers roam_triggers; struct wlan_roam_scan_period_params scan_period_params; + struct wlan_roam_scan_offload_params rso_config; struct ap_profile_params profile_params; struct wlan_roam_mawc_params mawc_params; struct wlan_roam_scan_filter_params scan_filter_params; diff --git a/components/wmi/inc/wmi_unified_roam_api.h b/components/wmi/inc/wmi_unified_roam_api.h index 8b03c4a4fc9d..3cc99ce56940 100644 --- a/components/wmi/inc/wmi_unified_roam_api.h +++ b/components/wmi/inc/wmi_unified_roam_api.h @@ -270,6 +270,7 @@ QDF_STATUS wmi_unified_vdev_set_pcl_cmd(wmi_unified_t wmi_handle, struct set_pcl_cmd_params *params); #endif /* WLAN_FEATURE_ROAM_OFFLOAD */ +#ifndef ROAM_OFFLOAD_V1 /** * wmi_unified_roam_scan_offload_mode_cmd() - set roam scan parameters * @wmi_handle: wmi handle @@ -285,6 +286,7 @@ QDF_STATUS wmi_unified_roam_scan_offload_mode_cmd( wmi_unified_t wmi_handle, wmi_start_scan_cmd_fixed_param *scan_cmd_fp, struct roam_offload_scan_params *roam_req); +#endif /** * wmi_unified_send_roam_scan_offload_ap_cmd() - set roam ap profile in fw diff --git a/components/wmi/src/wmi_unified_roam_api.c b/components/wmi/src/wmi_unified_roam_api.c index abd42dd348f0..83fe44462749 100644 --- a/components/wmi/src/wmi_unified_roam_api.c +++ b/components/wmi/src/wmi_unified_roam_api.c @@ -209,6 +209,7 @@ QDF_STATUS wmi_unified_vdev_set_pcl_cmd(wmi_unified_t wmi_handle, } #endif /* WLAN_FEATURE_ROAM_OFFLOAD */ +#ifndef ROAM_OFFLOAD_V1 QDF_STATUS wmi_unified_roam_scan_offload_mode_cmd( wmi_unified_t wmi_handle, wmi_start_scan_cmd_fixed_param *scan_cmd_fp, @@ -220,6 +221,7 @@ QDF_STATUS wmi_unified_roam_scan_offload_mode_cmd( return QDF_STATUS_E_FAILURE; } +#endif QDF_STATUS wmi_unified_send_roam_scan_offload_ap_cmd( wmi_unified_t wmi_handle, diff --git a/components/wmi/src/wmi_unified_roam_tlv.c b/components/wmi/src/wmi_unified_roam_tlv.c index 186e09a1078e..03081d44e8f9 100644 --- a/components/wmi/src/wmi_unified_roam_tlv.c +++ b/components/wmi/src/wmi_unified_roam_tlv.c @@ -1576,6 +1576,7 @@ extract_roam_initial_info_tlv(wmi_unified_t wmi_handle, void *evt_buf, #endif /* WLAN_FEATURE_ROAM_OFFLOAD */ +#ifndef ROAM_OFFLOAD_V1 #if defined(WLAN_FEATURE_FILS_SK) && defined(WLAN_FEATURE_ROAM_OFFLOAD) /** * wmi_add_fils_tlv() - Add FILS TLV to roam scan offload command @@ -2114,6 +2115,7 @@ send_roam_scan_mode_cmd: return status; } +#endif /** * convert_roam_trigger_reason() - Function to convert unified Roam trigger @@ -3208,8 +3210,10 @@ void wmi_roam_attach_tlv(wmi_unified_t wmi_handle) ops->send_roam_mawc_params_cmd = send_roam_mawc_params_cmd_tlv; ops->send_roam_scan_filter_cmd = send_roam_scan_filter_cmd_tlv; +#ifndef ROAM_OFFLOAD_V1 ops->send_roam_scan_offload_mode_cmd = send_roam_scan_offload_mode_cmd_tlv; +#endif ops->send_roam_scan_offload_ap_profile_cmd = send_roam_scan_offload_ap_profile_cmd_tlv; ops->send_roam_scan_offload_cmd = send_roam_scan_offload_cmd_tlv; diff --git a/core/mac/inc/sir_api.h b/core/mac/inc/sir_api.h index 02d9082567e0..e2c887e304e7 100644 --- a/core/mac/inc/sir_api.h +++ b/core/mac/inc/sir_api.h @@ -2321,7 +2321,9 @@ struct roam_offload_scan_req { struct scoring_param score_params; #ifdef WLAN_FEATURE_FILS_SK bool is_fils_connection; +#ifndef ROAM_OFFLOAD_V1 struct roam_fils_params roam_fils_params; +#endif #endif uint32_t btm_offload_config; uint32_t btm_solicited_timeout; diff --git a/core/mac/src/pe/include/lim_process_fils.h b/core/mac/src/pe/include/lim_process_fils.h index cdf864ebe492..93dcfe8016a6 100644 --- a/core/mac/src/pe/include/lim_process_fils.h +++ b/core/mac/src/pe/include/lim_process_fils.h @@ -218,6 +218,7 @@ bool lim_verify_fils_params_assoc_rsp(struct mac_context *mac_ctx, tpSirAssocRsp assoc_rsp, tLimMlmAssocCnf * assoc_cnf); +#ifndef ROAM_OFFLOAD_V1 /** * lim_update_fils_rik() - API to update FILS RIK in RSO * @pe_session: PE Session @@ -230,6 +231,7 @@ bool lim_verify_fils_params_assoc_rsp(struct mac_context *mac_ctx, */ void lim_update_fils_rik(struct pe_session *pe_session, struct roam_offload_scan_req *req_buffer); +#endif #else static inline bool lim_process_fils_auth_frame2(struct mac_context *mac_ctx, struct pe_session *pe_session, tSirMacAuthFrameBody *rx_auth_frm_body) diff --git a/core/mac/src/pe/lim/lim_process_fils.c b/core/mac/src/pe/lim/lim_process_fils.c index 5a2a2dce49d1..15b1eb5ccd7c 100644 --- a/core/mac/src/pe/lim/lim_process_fils.c +++ b/core/mac/src/pe/lim/lim_process_fils.c @@ -2166,6 +2166,7 @@ QDF_STATUS aead_decrypt_assoc_rsp(struct mac_context *mac_ctx, return status; } +#ifndef ROAM_OFFLOAD_V1 void lim_update_fils_rik(struct pe_session *pe_session, struct roam_offload_scan_req *req_buffer) { @@ -2221,3 +2222,4 @@ void lim_update_fils_rik(struct pe_session *pe_session, pe_fils_info->fils_ft_len); } #endif +#endif diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c index 6765c0fcafcf..8ec72fc6a964 100644 --- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c +++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c @@ -3432,6 +3432,7 @@ lim_send_vdev_restart(struct mac_context *mac, vdev_mgr_start_send(mlme_obj, true); } +#ifndef ROAM_OFFLOAD_V1 /** * __lim_process_roam_scan_offload_req() - Process Roam scan offload from csr * @mac_ctx: Pointer to Global MAC structure @@ -3487,6 +3488,12 @@ static void __lim_process_roam_scan_offload_req(struct mac_context *mac_ctx, qdf_mem_free(req_buffer); } } +#else +static inline void +__lim_process_roam_scan_offload_req(struct mac_context *mac_ctx, + uint32_t *msg_buf) +{} +#endif #if defined(WLAN_FEATURE_HOST_ROAM) || defined(WLAN_FEATURE_ROAM_OFFLOAD) #ifndef ROAM_OFFLOAD_V1 diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index edcb69a8b126..9f66cad24494 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -19995,7 +19995,7 @@ wlan_cm_roam_fill_update_config_req(struct wlan_objmgr_psoc *psoc, QDF_STATUS wlan_cm_roam_scan_offload_rsp(uint8_t vdev_id, uint8_t reason) { - QDF_STATUS status; + QDF_STATUS status = QDF_STATUS_SUCCESS; struct scheduler_msg cds_msg = {0}; struct roam_offload_scan_rsp *scan_offload_rsp; diff --git a/core/wma/inc/wma_if.h b/core/wma/inc/wma_if.h index 389991b01f4a..ac6ccdefbb17 100644 --- a/core/wma/inc/wma_if.h +++ b/core/wma/inc/wma_if.h @@ -321,7 +321,7 @@ typedef struct sLimMlmSetKeysReq { } tLimMlmSetKeysReq, *tpLimMlmSetKeysReq; /** - * struct struct bss_params - parameters required for add bss params + * struct bss_params - parameters required for add bss params * @bssId: MAC Address/BSSID * @nwType: network type * @shortSlotTimeSupported: is short slot time supported or not @@ -385,7 +385,7 @@ struct add_bss_rsp { }; /** - * struct struct del_bss_resp - params required for del bss response + * struct del_bss_resp - params required for del bss response * @status: QDF status * @vdev_id: vdev_id */ diff --git a/core/wma/inc/wma_internal.h b/core/wma/inc/wma_internal.h index 401cf33c8d2b..6c0a8d7c9b2e 100644 --- a/core/wma/inc/wma_internal.h +++ b/core/wma/inc/wma_internal.h @@ -357,18 +357,29 @@ void wma_update_per_roam_config(WMA_HANDLE handle, QDF_STATUS wma_update_channel_list(WMA_HANDLE handle, tSirUpdateChanList *chan_list); -#ifdef WLAN_FEATURE_ROAM_OFFLOAD +#if defined(WLAN_FEATURE_ROAM_OFFLOAD) && !defined(ROAM_OFFLOAD_V1) QDF_STATUS wma_roam_scan_fill_self_caps(tp_wma_handle wma_handle, roam_offload_param * roam_offload_params, struct roam_offload_scan_req *roam_req); #endif +#ifndef ROAM_OFFLOAD_V1 QDF_STATUS wma_roam_scan_offload_mode(tp_wma_handle wma_handle, wmi_start_scan_cmd_fixed_param * scan_cmd_fp, struct roam_offload_scan_req *roam_req, uint32_t mode, uint32_t vdev_id); +#else +static inline QDF_STATUS wma_roam_scan_offload_mode(tp_wma_handle wma_handle, + wmi_start_scan_cmd_fixed_param * + scan_cmd_fp, + struct roam_offload_scan_req *roam_req, + uint32_t mode, uint32_t vdev_id) +{ + return QDF_STATUS_SUCCESS; +} +#endif /** * wma_roam_scan_mawc_params() - send roam scan mode request to fw diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index d0ede35b4175..80581845f349 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -258,7 +258,9 @@ QDF_STATUS wma_roam_scan_mawc_params(tp_wma_handle wma_handle, return status; } + #ifdef WLAN_FEATURE_FILS_SK +#ifndef ROAM_OFFLOAD_V1 /** * wma_roam_scan_fill_fils_params() - API to fill FILS params in RSO command * @wma_handle: WMA handle @@ -303,6 +305,7 @@ static void wma_roam_scan_fill_fils_params(tp_wma_handle wma_handle, qdf_mem_copy(dst_fils_params->realm, src_fils_params->realm, dst_fils_params->realm_len); } +#endif #else static inline void wma_roam_scan_fill_fils_params( tp_wma_handle wma_handle, @@ -347,6 +350,7 @@ static void wma_handle_disconnect_reason(tp_wma_handle wma_handle, * Return: None */ #ifdef WLAN_FEATURE_ROAM_OFFLOAD +#ifndef ROAM_OFFLOAD_V1 static void wma_roam_scan_offload_set_params( tp_wma_handle wma_handle, struct roam_offload_scan_params *params, @@ -399,6 +403,7 @@ static void wma_roam_scan_offload_set_params( params->roam_offload_params.roam_preauth_no_ack_timeout, params->is_sae_same_pmk); } +#endif int wma_roam_vdev_disconnect_event_handler(void *handle, uint8_t *event, uint32_t len) @@ -450,6 +455,7 @@ static void wma_roam_scan_offload_set_params( {} #endif +#ifndef ROAM_OFFLOAD_V1 /** * wma_roam_scan_offload_mode() - send roam scan mode request to fw * @wma_handle: pointer to wma context @@ -526,7 +532,6 @@ QDF_STATUS wma_roam_scan_offload_mode(tp_wma_handle wma_handle, return status; } -#ifndef ROAM_OFFLOAD_V1 QDF_STATUS wma_roam_scan_offload_rssi_thresh(tp_wma_handle wma_handle, struct roam_offload_scan_req *roam_req) @@ -4096,6 +4101,7 @@ err: } #endif +#ifndef ROAM_OFFLOAD_V1 #define RSN_CAPS_SHIFT 16 /** * wma_roam_scan_fill_self_caps() - fill capabilities @@ -4222,6 +4228,7 @@ QDF_STATUS wma_roam_scan_fill_self_caps(tp_wma_handle wma_handle, roam_offload_params->wmm_caps = 0x4 & 0xFF; return QDF_STATUS_SUCCESS; } +#endif /** * wma_set_ric_req() - set ric request element