Browse Source

qcacld-3.0: Add changes to define roam scan mode commmand structures

Add changes to define structure to hold the WMI_ROAM_SCAN_MODE
command related parameters.
Also added minor cleanup changes.

Change-Id: I24ef18e05de8dd05ee437e440651ea9ab0731e46
CRs-Fixed: 2758316
Pragaspathi Thilagaraj 4 years ago
parent
commit
9c8821e63c

+ 4 - 0
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
 };
 
 /**

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

@@ -28,6 +28,8 @@
 #include <wmi_unified_param.h>
 #include <sir_api.h>
 
+#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

+ 258 - 0
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;

+ 2 - 0
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

+ 2 - 0
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,

+ 4 - 0
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;

+ 2 - 0
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;

+ 2 - 0
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)

+ 2 - 0
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

+ 7 - 0
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

+ 1 - 1
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;
 

+ 2 - 2
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
  */

+ 12 - 1
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

+ 8 - 1
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