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
This commit is contained in:
Pragaspathi Thilagaraj
2020-08-19 03:19:23 +05:30
committed by snandini
parent 19c4db9c49
commit 9c8821e63c
14 changed files with 348 additions and 5 deletions

View File

@@ -162,6 +162,7 @@ struct wlan_mlme_roam {
* @sae_auth_retry: SAE auth retry information * @sae_auth_retry: SAE auth retry information
* @roam_reason_better_ap: roam due to better AP found * @roam_reason_better_ap: roam due to better AP found
* @better_ap_hb_failure_rssi: heartbeat failure AP RSSI * @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 { struct mlme_legacy_priv {
bool chan_switch_in_progress; bool chan_switch_in_progress;
@@ -184,6 +185,9 @@ struct mlme_legacy_priv {
struct sae_auth_retry sae_retry; struct sae_auth_retry sae_retry;
bool roam_reason_better_ap; bool roam_reason_better_ap;
uint32_t hb_failure_rssi; uint32_t hb_failure_rssi;
#ifdef WLAN_FEATURE_FILS_SK
struct wlan_fils_connection_info fils_con_info;
#endif
}; };
/** /**

View File

@@ -28,6 +28,8 @@
#include <wmi_unified_param.h> #include <wmi_unified_param.h>
#include <sir_api.h> #include <sir_api.h>
#define CFG_VALID_CHANNEL_LIST_LEN 100
#define CFG_PMKID_MODES_OKC (0x1) #define CFG_PMKID_MODES_OKC (0x1)
#define CFG_PMKID_MODES_PMKSA_CACHING (0x2) #define CFG_PMKID_MODES_PMKSA_CACHING (0x2)
@@ -498,6 +500,46 @@ struct mlme_ht_info_field_2 {
} qdf_packed; } qdf_packed;
#endif #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 * struct mlme_ht_info_field_3 - Additional HT IE Field3
* @reserved: reserved bits * @reserved: reserved bits

View File

@@ -618,6 +618,263 @@ struct wlan_per_roam_config_req {
#define RSSI_MIN_VALUE (-128) #define RSSI_MIN_VALUE (-128)
#define RSSI_MAX_VALUE (127) #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 * struct wlan_roam_offload_scan_rssi_params - structure containing
* parameters for roam offload scan based on RSSI * 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_reason_vsie_enable reason_vsie_enable;
struct wlan_roam_triggers roam_triggers; struct wlan_roam_triggers roam_triggers;
struct wlan_roam_scan_period_params scan_period_params; struct wlan_roam_scan_period_params scan_period_params;
struct wlan_roam_scan_offload_params rso_config;
struct ap_profile_params profile_params; struct ap_profile_params profile_params;
struct wlan_roam_mawc_params mawc_params; struct wlan_roam_mawc_params mawc_params;
struct wlan_roam_scan_filter_params scan_filter_params; struct wlan_roam_scan_filter_params scan_filter_params;

View File

@@ -270,6 +270,7 @@ QDF_STATUS wmi_unified_vdev_set_pcl_cmd(wmi_unified_t wmi_handle,
struct set_pcl_cmd_params *params); struct set_pcl_cmd_params *params);
#endif /* WLAN_FEATURE_ROAM_OFFLOAD */ #endif /* WLAN_FEATURE_ROAM_OFFLOAD */
#ifndef ROAM_OFFLOAD_V1
/** /**
* wmi_unified_roam_scan_offload_mode_cmd() - set roam scan parameters * wmi_unified_roam_scan_offload_mode_cmd() - set roam scan parameters
* @wmi_handle: wmi handle * @wmi_handle: wmi handle
@@ -285,6 +286,7 @@ QDF_STATUS wmi_unified_roam_scan_offload_mode_cmd(
wmi_unified_t wmi_handle, wmi_unified_t wmi_handle,
wmi_start_scan_cmd_fixed_param *scan_cmd_fp, wmi_start_scan_cmd_fixed_param *scan_cmd_fp,
struct roam_offload_scan_params *roam_req); struct roam_offload_scan_params *roam_req);
#endif
/** /**
* wmi_unified_send_roam_scan_offload_ap_cmd() - set roam ap profile in fw * wmi_unified_send_roam_scan_offload_ap_cmd() - set roam ap profile in fw

View File

@@ -209,6 +209,7 @@ QDF_STATUS wmi_unified_vdev_set_pcl_cmd(wmi_unified_t wmi_handle,
} }
#endif /* WLAN_FEATURE_ROAM_OFFLOAD */ #endif /* WLAN_FEATURE_ROAM_OFFLOAD */
#ifndef ROAM_OFFLOAD_V1
QDF_STATUS wmi_unified_roam_scan_offload_mode_cmd( QDF_STATUS wmi_unified_roam_scan_offload_mode_cmd(
wmi_unified_t wmi_handle, wmi_unified_t wmi_handle,
wmi_start_scan_cmd_fixed_param *scan_cmd_fp, 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; return QDF_STATUS_E_FAILURE;
} }
#endif
QDF_STATUS wmi_unified_send_roam_scan_offload_ap_cmd( QDF_STATUS wmi_unified_send_roam_scan_offload_ap_cmd(
wmi_unified_t wmi_handle, wmi_unified_t wmi_handle,

View File

@@ -1576,6 +1576,7 @@ extract_roam_initial_info_tlv(wmi_unified_t wmi_handle, void *evt_buf,
#endif /* WLAN_FEATURE_ROAM_OFFLOAD */ #endif /* WLAN_FEATURE_ROAM_OFFLOAD */
#ifndef ROAM_OFFLOAD_V1
#if defined(WLAN_FEATURE_FILS_SK) && defined(WLAN_FEATURE_ROAM_OFFLOAD) #if defined(WLAN_FEATURE_FILS_SK) && defined(WLAN_FEATURE_ROAM_OFFLOAD)
/** /**
* wmi_add_fils_tlv() - Add FILS TLV to roam scan offload command * wmi_add_fils_tlv() - Add FILS TLV to roam scan offload command
@@ -2114,6 +2115,7 @@ send_roam_scan_mode_cmd:
return status; return status;
} }
#endif
/** /**
* convert_roam_trigger_reason() - Function to convert unified Roam trigger * 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_mawc_params_cmd = send_roam_mawc_params_cmd_tlv;
ops->send_roam_scan_filter_cmd = ops->send_roam_scan_filter_cmd =
send_roam_scan_filter_cmd_tlv; send_roam_scan_filter_cmd_tlv;
#ifndef ROAM_OFFLOAD_V1
ops->send_roam_scan_offload_mode_cmd = ops->send_roam_scan_offload_mode_cmd =
send_roam_scan_offload_mode_cmd_tlv; send_roam_scan_offload_mode_cmd_tlv;
#endif
ops->send_roam_scan_offload_ap_profile_cmd = ops->send_roam_scan_offload_ap_profile_cmd =
send_roam_scan_offload_ap_profile_cmd_tlv; send_roam_scan_offload_ap_profile_cmd_tlv;
ops->send_roam_scan_offload_cmd = send_roam_scan_offload_cmd_tlv; ops->send_roam_scan_offload_cmd = send_roam_scan_offload_cmd_tlv;

View File

@@ -2321,7 +2321,9 @@ struct roam_offload_scan_req {
struct scoring_param score_params; struct scoring_param score_params;
#ifdef WLAN_FEATURE_FILS_SK #ifdef WLAN_FEATURE_FILS_SK
bool is_fils_connection; bool is_fils_connection;
#ifndef ROAM_OFFLOAD_V1
struct roam_fils_params roam_fils_params; struct roam_fils_params roam_fils_params;
#endif
#endif #endif
uint32_t btm_offload_config; uint32_t btm_offload_config;
uint32_t btm_solicited_timeout; uint32_t btm_solicited_timeout;

View File

@@ -218,6 +218,7 @@ bool lim_verify_fils_params_assoc_rsp(struct mac_context *mac_ctx,
tpSirAssocRsp assoc_rsp, tpSirAssocRsp assoc_rsp,
tLimMlmAssocCnf * assoc_cnf); tLimMlmAssocCnf * assoc_cnf);
#ifndef ROAM_OFFLOAD_V1
/** /**
* lim_update_fils_rik() - API to update FILS RIK in RSO * lim_update_fils_rik() - API to update FILS RIK in RSO
* @pe_session: PE Session * @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, void lim_update_fils_rik(struct pe_session *pe_session,
struct roam_offload_scan_req *req_buffer); struct roam_offload_scan_req *req_buffer);
#endif
#else #else
static inline bool lim_process_fils_auth_frame2(struct mac_context *mac_ctx, static inline bool lim_process_fils_auth_frame2(struct mac_context *mac_ctx,
struct pe_session *pe_session, tSirMacAuthFrameBody *rx_auth_frm_body) struct pe_session *pe_session, tSirMacAuthFrameBody *rx_auth_frm_body)

View File

@@ -2166,6 +2166,7 @@ QDF_STATUS aead_decrypt_assoc_rsp(struct mac_context *mac_ctx,
return status; return status;
} }
#ifndef ROAM_OFFLOAD_V1
void lim_update_fils_rik(struct pe_session *pe_session, void lim_update_fils_rik(struct pe_session *pe_session,
struct roam_offload_scan_req *req_buffer) 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); pe_fils_info->fils_ft_len);
} }
#endif #endif
#endif

View File

@@ -3432,6 +3432,7 @@ lim_send_vdev_restart(struct mac_context *mac,
vdev_mgr_start_send(mlme_obj, true); vdev_mgr_start_send(mlme_obj, true);
} }
#ifndef ROAM_OFFLOAD_V1
/** /**
* __lim_process_roam_scan_offload_req() - Process Roam scan offload from csr * __lim_process_roam_scan_offload_req() - Process Roam scan offload from csr
* @mac_ctx: Pointer to Global MAC structure * @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); 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) #if defined(WLAN_FEATURE_HOST_ROAM) || defined(WLAN_FEATURE_ROAM_OFFLOAD)
#ifndef ROAM_OFFLOAD_V1 #ifndef ROAM_OFFLOAD_V1

View File

@@ -19995,7 +19995,7 @@ wlan_cm_roam_fill_update_config_req(struct wlan_objmgr_psoc *psoc,
QDF_STATUS QDF_STATUS
wlan_cm_roam_scan_offload_rsp(uint8_t vdev_id, uint8_t reason) 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 scheduler_msg cds_msg = {0};
struct roam_offload_scan_rsp *scan_offload_rsp; struct roam_offload_scan_rsp *scan_offload_rsp;

View File

@@ -321,7 +321,7 @@ typedef struct sLimMlmSetKeysReq {
} tLimMlmSetKeysReq, *tpLimMlmSetKeysReq; } 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 * @bssId: MAC Address/BSSID
* @nwType: network type * @nwType: network type
* @shortSlotTimeSupported: is short slot time supported or not * @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 * @status: QDF status
* @vdev_id: vdev_id * @vdev_id: vdev_id
*/ */

View File

@@ -357,18 +357,29 @@ void wma_update_per_roam_config(WMA_HANDLE handle,
QDF_STATUS wma_update_channel_list(WMA_HANDLE handle, QDF_STATUS wma_update_channel_list(WMA_HANDLE handle,
tSirUpdateChanList *chan_list); 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, QDF_STATUS wma_roam_scan_fill_self_caps(tp_wma_handle wma_handle,
roam_offload_param * roam_offload_param *
roam_offload_params, roam_offload_params,
struct roam_offload_scan_req *roam_req); struct roam_offload_scan_req *roam_req);
#endif #endif
#ifndef ROAM_OFFLOAD_V1
QDF_STATUS wma_roam_scan_offload_mode(tp_wma_handle wma_handle, QDF_STATUS wma_roam_scan_offload_mode(tp_wma_handle wma_handle,
wmi_start_scan_cmd_fixed_param * wmi_start_scan_cmd_fixed_param *
scan_cmd_fp, scan_cmd_fp,
struct roam_offload_scan_req *roam_req, struct roam_offload_scan_req *roam_req,
uint32_t mode, uint32_t vdev_id); 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 * wma_roam_scan_mawc_params() - send roam scan mode request to fw

View File

@@ -258,7 +258,9 @@ QDF_STATUS wma_roam_scan_mawc_params(tp_wma_handle wma_handle,
return status; return status;
} }
#ifdef WLAN_FEATURE_FILS_SK #ifdef WLAN_FEATURE_FILS_SK
#ifndef ROAM_OFFLOAD_V1
/** /**
* wma_roam_scan_fill_fils_params() - API to fill FILS params in RSO command * wma_roam_scan_fill_fils_params() - API to fill FILS params in RSO command
* @wma_handle: WMA handle * @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, qdf_mem_copy(dst_fils_params->realm, src_fils_params->realm,
dst_fils_params->realm_len); dst_fils_params->realm_len);
} }
#endif
#else #else
static inline void wma_roam_scan_fill_fils_params( static inline void wma_roam_scan_fill_fils_params(
tp_wma_handle wma_handle, tp_wma_handle wma_handle,
@@ -347,6 +350,7 @@ static void wma_handle_disconnect_reason(tp_wma_handle wma_handle,
* Return: None * Return: None
*/ */
#ifdef WLAN_FEATURE_ROAM_OFFLOAD #ifdef WLAN_FEATURE_ROAM_OFFLOAD
#ifndef ROAM_OFFLOAD_V1
static void wma_roam_scan_offload_set_params( static void wma_roam_scan_offload_set_params(
tp_wma_handle wma_handle, tp_wma_handle wma_handle,
struct roam_offload_scan_params *params, 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->roam_offload_params.roam_preauth_no_ack_timeout,
params->is_sae_same_pmk); params->is_sae_same_pmk);
} }
#endif
int wma_roam_vdev_disconnect_event_handler(void *handle, uint8_t *event, int wma_roam_vdev_disconnect_event_handler(void *handle, uint8_t *event,
uint32_t len) uint32_t len)
@@ -450,6 +455,7 @@ static void wma_roam_scan_offload_set_params(
{} {}
#endif #endif
#ifndef ROAM_OFFLOAD_V1
/** /**
* wma_roam_scan_offload_mode() - send roam scan mode request to fw * wma_roam_scan_offload_mode() - send roam scan mode request to fw
* @wma_handle: pointer to wma context * @wma_handle: pointer to wma context
@@ -526,7 +532,6 @@ QDF_STATUS wma_roam_scan_offload_mode(tp_wma_handle wma_handle,
return status; return status;
} }
#ifndef ROAM_OFFLOAD_V1
QDF_STATUS QDF_STATUS
wma_roam_scan_offload_rssi_thresh(tp_wma_handle wma_handle, wma_roam_scan_offload_rssi_thresh(tp_wma_handle wma_handle,
struct roam_offload_scan_req *roam_req) struct roam_offload_scan_req *roam_req)
@@ -4096,6 +4101,7 @@ err:
} }
#endif #endif
#ifndef ROAM_OFFLOAD_V1
#define RSN_CAPS_SHIFT 16 #define RSN_CAPS_SHIFT 16
/** /**
* wma_roam_scan_fill_self_caps() - fill capabilities * 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; roam_offload_params->wmm_caps = 0x4 & 0xFF;
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
#endif
/** /**
* wma_set_ric_req() - set ric request element * wma_set_ric_req() - set ric request element