qcacld-3.0: Remove join_resp from roam sync structure
Remove join_resp from roam sync structure. Change-Id: Ifabd9383954394f00afce635c90dc54cc6cb5aa3 CRs-Fixed: 2891728
This commit is contained in:
committed by
snandini
parent
bb51e01c45
commit
fac5527d3f
@@ -112,6 +112,9 @@
|
||||
#define MAX_BSSID_AVOID_LIST 16
|
||||
#define MAX_BSSID_FAVORED 16
|
||||
|
||||
#define MAX_FTIE_SIZE 384
|
||||
#define ESE_MAX_TSPEC_IES 4
|
||||
|
||||
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
|
||||
#define ROAM_SCAN_PSK_SIZE 48
|
||||
#define ROAM_R0KH_ID_MAX_LEN 48
|
||||
|
@@ -821,10 +821,9 @@ typedef struct sTspecInfo {
|
||||
struct mac_tspec_ie tspec;
|
||||
} tTspecInfo;
|
||||
|
||||
#define SIR_ESE_MAX_TSPEC_IES 4
|
||||
typedef struct sESETspecTspecInfo {
|
||||
uint8_t numTspecs;
|
||||
tTspecInfo tspec[SIR_ESE_MAX_TSPEC_IES];
|
||||
tTspecInfo tspec[ESE_MAX_TSPEC_IES];
|
||||
} tESETspecInfo;
|
||||
|
||||
struct tsm_ie {
|
||||
@@ -957,6 +956,7 @@ struct join_req {
|
||||
*/
|
||||
};
|
||||
|
||||
#ifndef FEATURE_CM_ENABLE
|
||||
/* / Definition for response message to previously issued join request */
|
||||
/* / MAC ---> */
|
||||
struct join_rsp {
|
||||
@@ -964,13 +964,11 @@ struct join_rsp {
|
||||
uint16_t length;
|
||||
uint8_t vdev_id; /* Session ID */
|
||||
tSirResultCodes status_code;
|
||||
tAniAuthType authType;
|
||||
uint32_t vht_channel_width;
|
||||
/* It holds reasonCode when join fails due to deauth/disassoc frame.
|
||||
* Otherwise it holds status code.
|
||||
*/
|
||||
uint16_t protStatusCode;
|
||||
uint16_t aid;
|
||||
uint32_t beaconLength;
|
||||
uint32_t assocReqLength;
|
||||
uint32_t assocRspLength;
|
||||
@@ -1008,6 +1006,7 @@ struct join_rsp {
|
||||
#endif
|
||||
uint8_t frames[1];
|
||||
};
|
||||
#endif
|
||||
|
||||
struct oem_channel_info {
|
||||
uint32_t mhz;
|
||||
@@ -2494,8 +2493,6 @@ typedef struct {
|
||||
#endif
|
||||
|
||||
struct roam_offload_synch_ind {
|
||||
uint16_t messageType; /*eWNI_SME_ROAM_OFFLOAD_SYNCH_IND */
|
||||
uint16_t length;
|
||||
uint16_t beaconProbeRespOffset;
|
||||
uint16_t beaconProbeRespLength;
|
||||
uint16_t reassocRespOffset;
|
||||
@@ -2522,7 +2519,13 @@ struct roam_offload_synch_ind {
|
||||
uint16_t next_erp_seq_num;
|
||||
uint8_t replay_ctr[REPLAY_CTR_LEN];
|
||||
void *add_bss_params;
|
||||
struct join_rsp *join_rsp;
|
||||
enum phy_ch_width chan_width;
|
||||
uint32_t max_rate_flags;
|
||||
uint32_t ric_data_len;
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
uint32_t tspec_len;
|
||||
#endif
|
||||
uint8_t *ric_tspec_data;
|
||||
uint16_t aid;
|
||||
struct sir_hw_mode_trans_ind hw_mode_trans_ind;
|
||||
uint8_t nss;
|
||||
|
@@ -436,7 +436,7 @@ typedef struct sSirAssocRsp {
|
||||
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
uint8_t num_tspecs;
|
||||
tDot11fIEWMMTSPEC TSPECInfo[SIR_ESE_MAX_TSPEC_IES];
|
||||
tDot11fIEWMMTSPEC TSPECInfo[ESE_MAX_TSPEC_IES];
|
||||
struct ese_tsm_ie tsmIE;
|
||||
#endif
|
||||
|
||||
|
@@ -251,25 +251,6 @@ void lim_trigger_sta_deletion(struct mac_context *mac, tpDphHashNode sta,
|
||||
void lim_send_sme_tdls_del_sta_ind(struct mac_context *mac, tpDphHashNode sta,
|
||||
struct pe_session *pe_session,
|
||||
uint16_t reasonCode);
|
||||
|
||||
/**
|
||||
* lim_set_tdls_flags() - update tdls flags based on newer STA connection
|
||||
* information
|
||||
* @roam_sync_ind_ptr: pointer to roam offload structure
|
||||
* @ft_session_ptr: pointer to PE session
|
||||
*
|
||||
* Set TDLS flags as per new STA connection capabilities.
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void lim_set_tdls_flags(struct roam_offload_synch_ind *roam_sync_ind_ptr,
|
||||
struct pe_session *ft_session_ptr);
|
||||
#else
|
||||
static inline
|
||||
void lim_set_tdls_flags(struct roam_offload_synch_ind *roam_sync_ind_ptr,
|
||||
struct pe_session *ft_session_ptr)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
/* / Function that checks for change in AP's capabilties on STA */
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2013-2020 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2013-2021 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -31,8 +31,6 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
Preprocessor definitions and constants
|
||||
------------------------------------------------------------------------*/
|
||||
#define MAX_FTIE_SIZE 384 /* Max size limited to 384, on acct. of IW custom events */
|
||||
|
||||
/* Time to dwell on preauth channel during roaming, in milliseconds */
|
||||
#define LIM_FT_PREAUTH_SCAN_TIME 50
|
||||
|
||||
|
@@ -2474,7 +2474,7 @@ pe_roam_synch_callback(struct mac_context *mac_ctx,
|
||||
uint16_t aid;
|
||||
struct bss_params *add_bss_params;
|
||||
QDF_STATUS status = QDF_STATUS_E_FAILURE;
|
||||
uint16_t join_rsp_len;
|
||||
uint16_t ric_tspec_len;
|
||||
|
||||
if (!roam_sync_ind_ptr) {
|
||||
pe_err("LFR3:roam_sync_ind_ptr is NULL");
|
||||
@@ -2624,54 +2624,46 @@ pe_roam_synch_callback(struct mac_context *mac_ctx,
|
||||
ft_session_ptr->limMlmState = eLIM_MLM_LINK_ESTABLISHED_STATE;
|
||||
ft_session_ptr->limPrevMlmState = ft_session_ptr->limMlmState;
|
||||
lim_init_tdls_data(mac_ctx, ft_session_ptr);
|
||||
join_rsp_len = ft_session_ptr->RICDataLen +
|
||||
sizeof(struct join_rsp) - sizeof(uint8_t);
|
||||
|
||||
ric_tspec_len = ft_session_ptr->RICDataLen;
|
||||
pe_debug("LFR3: Session RicLength: %d", ft_session_ptr->RICDataLen);
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
join_rsp_len += ft_session_ptr->tspecLen;
|
||||
ric_tspec_len += ft_session_ptr->tspecLen;
|
||||
pe_debug("LFR3: tspecLen: %d", ft_session_ptr->tspecLen);
|
||||
#endif
|
||||
if (ric_tspec_len) {
|
||||
roam_sync_ind_ptr->ric_tspec_data =
|
||||
qdf_mem_malloc(ric_tspec_len);
|
||||
if (!roam_sync_ind_ptr->ric_tspec_data) {
|
||||
ft_session_ptr->bRoamSynchInProgress = false;
|
||||
return QDF_STATUS_E_NOMEM;
|
||||
}
|
||||
|
||||
roam_sync_ind_ptr->join_rsp = qdf_mem_malloc(join_rsp_len);
|
||||
if (!roam_sync_ind_ptr->join_rsp) {
|
||||
ft_session_ptr->bRoamSynchInProgress = false;
|
||||
return QDF_STATUS_E_NOMEM;
|
||||
}
|
||||
|
||||
pe_debug("LFR3: Session RicLength: %d", ft_session_ptr->RICDataLen);
|
||||
if (ft_session_ptr->ricData) {
|
||||
roam_sync_ind_ptr->join_rsp->parsedRicRspLen =
|
||||
if (ft_session_ptr->ricData) {
|
||||
roam_sync_ind_ptr->ric_data_len =
|
||||
ft_session_ptr->RICDataLen;
|
||||
qdf_mem_copy(roam_sync_ind_ptr->join_rsp->frames,
|
||||
ft_session_ptr->ricData,
|
||||
roam_sync_ind_ptr->join_rsp->parsedRicRspLen);
|
||||
qdf_mem_free(ft_session_ptr->ricData);
|
||||
ft_session_ptr->ricData = NULL;
|
||||
ft_session_ptr->RICDataLen = 0;
|
||||
}
|
||||
|
||||
qdf_mem_copy(roam_sync_ind_ptr->ric_tspec_data,
|
||||
ft_session_ptr->ricData,
|
||||
roam_sync_ind_ptr->ric_data_len);
|
||||
qdf_mem_free(ft_session_ptr->ricData);
|
||||
ft_session_ptr->ricData = NULL;
|
||||
ft_session_ptr->RICDataLen = 0;
|
||||
}
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
if (ft_session_ptr->tspecIes) {
|
||||
roam_sync_ind_ptr->join_rsp->tspecIeLen =
|
||||
ft_session_ptr->tspecLen;
|
||||
qdf_mem_copy(roam_sync_ind_ptr->join_rsp->frames +
|
||||
roam_sync_ind_ptr->join_rsp->parsedRicRspLen,
|
||||
ft_session_ptr->tspecIes,
|
||||
roam_sync_ind_ptr->join_rsp->tspecIeLen);
|
||||
qdf_mem_free(ft_session_ptr->tspecIes);
|
||||
ft_session_ptr->tspecIes = NULL;
|
||||
ft_session_ptr->tspecLen = 0;
|
||||
}
|
||||
if (ft_session_ptr->tspecIes) {
|
||||
roam_sync_ind_ptr->tspec_len = ft_session_ptr->tspecLen;
|
||||
qdf_mem_copy(roam_sync_ind_ptr->ric_tspec_data +
|
||||
roam_sync_ind_ptr->ric_data_len,
|
||||
ft_session_ptr->tspecIes,
|
||||
roam_sync_ind_ptr->tspec_len);
|
||||
qdf_mem_free(ft_session_ptr->tspecIes);
|
||||
ft_session_ptr->tspecIes = NULL;
|
||||
ft_session_ptr->tspecLen = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
roam_sync_ind_ptr->join_rsp->vht_channel_width =
|
||||
ft_session_ptr->ch_width;
|
||||
roam_sync_ind_ptr->join_rsp->timingMeasCap = curr_sta_ds->timingMeasCap;
|
||||
roam_sync_ind_ptr->join_rsp->nss = curr_sta_ds->nss;
|
||||
roam_sync_ind_ptr->join_rsp->max_rate_flags =
|
||||
}
|
||||
roam_sync_ind_ptr->chan_width = ft_session_ptr->ch_width;
|
||||
roam_sync_ind_ptr->max_rate_flags =
|
||||
lim_get_max_rate_flags(mac_ctx, curr_sta_ds);
|
||||
lim_set_tdls_flags(roam_sync_ind_ptr, ft_session_ptr);
|
||||
roam_sync_ind_ptr->join_rsp->aid = ft_session_ptr->limAID;
|
||||
ft_session_ptr->limSmeState = eLIM_SME_LINK_EST_STATE;
|
||||
ft_session_ptr->limPrevSmeState = ft_session_ptr->limSmeState;
|
||||
ft_session_ptr->bRoamSynchInProgress = false;
|
||||
|
@@ -1381,15 +1381,6 @@ wma_tx_frame_with_tx_complete_send(struct mac_context *mac, void *pPacket,
|
||||
}
|
||||
#endif
|
||||
|
||||
void lim_set_tdls_flags(struct roam_offload_synch_ind *roam_sync_ind_ptr,
|
||||
struct pe_session *ft_session_ptr)
|
||||
{
|
||||
roam_sync_ind_ptr->join_rsp->tdls_prohibited =
|
||||
mlme_get_tdls_prohibited(ft_session_ptr->vdev);
|
||||
roam_sync_ind_ptr->join_rsp->tdls_chan_swit_prohibited =
|
||||
mlme_get_tdls_chan_switch_prohibited(ft_session_ptr->vdev);
|
||||
}
|
||||
|
||||
/*
|
||||
* TDLS setup Request frame on AP link
|
||||
*/
|
||||
|
@@ -655,7 +655,6 @@ static void lim_handle_join_rsp_status(struct mac_context *mac_ctx,
|
||||
sme_join_rsp->tspecIeLen);
|
||||
}
|
||||
#endif
|
||||
sme_join_rsp->aid = session_entry->limAID;
|
||||
sme_join_rsp->vht_channel_width =
|
||||
session_entry->ch_width;
|
||||
|
||||
|
@@ -1180,16 +1180,19 @@ typedef void (*csr_readyToSuspendCallback)(void *pContext, bool suspended);
|
||||
typedef void (*csr_readyToExtWoWCallback)(void *pContext, bool status);
|
||||
#endif
|
||||
typedef void (*csr_link_status_callback)(uint8_t status, void *context);
|
||||
|
||||
#ifndef FEATURE_CM_ENABLE
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
void csr_roam_fill_tdls_info(struct mac_context *mac_ctx,
|
||||
struct csr_roam_info *roam_info,
|
||||
struct join_rsp *join_rsp);
|
||||
struct wlan_objmgr_vdev *vdev);
|
||||
#else
|
||||
static inline void csr_roam_fill_tdls_info(struct mac_context *mac_ctx,
|
||||
struct csr_roam_info *roam_info,
|
||||
struct join_rsp *join_rsp)
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
typedef void (*sme_get_raom_scan_ch_callback)(
|
||||
hdd_handle_t hdd_handle,
|
||||
|
@@ -16546,6 +16546,8 @@ fail:
|
||||
msg_return.bodyval = 0;
|
||||
sys_process_mmh_msg(mac, &msg_return);
|
||||
}
|
||||
|
||||
#ifndef FEATURE_CM_ENABLE
|
||||
#ifdef FEATURE_WLAN_TDLS
|
||||
/**
|
||||
* csr_roam_fill_tdls_info() - Fill TDLS information
|
||||
@@ -16556,11 +16558,11 @@ fail:
|
||||
*/
|
||||
void csr_roam_fill_tdls_info(struct mac_context *mac_ctx,
|
||||
struct csr_roam_info *roam_info,
|
||||
struct join_rsp *join_rsp)
|
||||
struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
roam_info->tdls_prohibited = join_rsp->tdls_prohibited;
|
||||
roam_info->tdls_prohibited = mlme_get_tdls_prohibited(vdev);
|
||||
roam_info->tdls_chan_swit_prohibited =
|
||||
join_rsp->tdls_chan_swit_prohibited;
|
||||
mlme_get_tdls_chan_switch_prohibited(vdev);
|
||||
sme_debug(
|
||||
"tdls:prohibit: %d, chan_swit_prohibit: %d",
|
||||
roam_info->tdls_prohibited,
|
||||
@@ -16568,7 +16570,6 @@ void csr_roam_fill_tdls_info(struct mac_context *mac_ctx,
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifndef FEATURE_CM_ENABLE
|
||||
#if defined(WLAN_FEATURE_FILS_SK) && defined(WLAN_FEATURE_ROAM_OFFLOAD)
|
||||
static void csr_copy_fils_join_rsp_roam_info(struct csr_roam_info *roam_info,
|
||||
struct roam_offload_synch_ind *roam_synch_data)
|
||||
@@ -16774,6 +16775,7 @@ csr_process_roam_sync_callback(struct mac_context *mac_ctx,
|
||||
uint8_t mdie_present;
|
||||
struct cm_roam_values_copy config;
|
||||
struct wlan_mlme_psoc_ext_obj *mlme_obj;
|
||||
struct mlme_legacy_priv *mlme_priv;
|
||||
|
||||
mlme_obj = mlme_get_psoc_ext_obj(mac_ctx->psoc);
|
||||
if (!mlme_obj) {
|
||||
@@ -16788,6 +16790,11 @@ csr_process_roam_sync_callback(struct mac_context *mac_ctx,
|
||||
sme_err("vdev is NULL, aborting roam invoke");
|
||||
return QDF_STATUS_E_NULL_VALUE;
|
||||
}
|
||||
mlme_priv = wlan_vdev_mlme_get_ext_hdl(vdev);
|
||||
if (!mlme_priv) {
|
||||
status = QDF_STATUS_E_NULL_VALUE;
|
||||
goto end;
|
||||
}
|
||||
|
||||
vdev_roam_params = mlme_get_roam_invoke_params(vdev);
|
||||
|
||||
@@ -17243,43 +17250,41 @@ csr_process_roam_sync_callback(struct mac_context *mac_ctx,
|
||||
|
||||
sme_debug("LFR3:Clear Connected info");
|
||||
csr_roam_free_connected_info(mac_ctx, &session->connectedInfo);
|
||||
len = roam_synch_data->join_rsp->parsedRicRspLen;
|
||||
len = roam_synch_data->ric_data_len;
|
||||
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
len += roam_synch_data->join_rsp->tspecIeLen;
|
||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
||||
FL("LFR3: tspecLen %d"),
|
||||
roam_synch_data->join_rsp->tspecIeLen);
|
||||
len += roam_synch_data->tspec_len;
|
||||
sme_debug("LFR3: tspecLen %d", roam_synch_data->tspec_len);
|
||||
#endif
|
||||
|
||||
sme_debug("LFR3: RIC length - %d",
|
||||
roam_synch_data->join_rsp->parsedRicRspLen);
|
||||
sme_debug("LFR3: RIC length - %d", roam_synch_data->ric_data_len);
|
||||
if (len) {
|
||||
session->connectedInfo.pbFrames =
|
||||
qdf_mem_malloc(len);
|
||||
if (session->connectedInfo.pbFrames) {
|
||||
qdf_mem_copy(session->connectedInfo.pbFrames,
|
||||
roam_synch_data->join_rsp->frames, len);
|
||||
roam_synch_data->ric_tspec_data,
|
||||
len);
|
||||
session->connectedInfo.nRICRspLength =
|
||||
roam_synch_data->join_rsp->parsedRicRspLen;
|
||||
roam_synch_data->ric_data_len;
|
||||
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
session->connectedInfo.nTspecIeLength =
|
||||
roam_synch_data->join_rsp->tspecIeLen;
|
||||
roam_synch_data->tspec_len;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
conn_profile->vht_channel_width =
|
||||
roam_synch_data->join_rsp->vht_channel_width;
|
||||
roam_synch_data->chan_width;
|
||||
add_bss_params = (struct bss_params *)roam_synch_data->add_bss_params;
|
||||
roam_info->timingMeasCap =
|
||||
roam_synch_data->join_rsp->timingMeasCap;
|
||||
roam_info->chan_info.nss = roam_synch_data->join_rsp->nss;
|
||||
roam_info->chan_info.rate_flags =
|
||||
roam_synch_data->join_rsp->max_rate_flags;
|
||||
roam_info->chan_info.ch_width =
|
||||
roam_synch_data->join_rsp->vht_channel_width;
|
||||
csr_roam_fill_tdls_info(mac_ctx, roam_info, roam_synch_data->join_rsp);
|
||||
roam_info->timingMeasCap = mlme_priv->connect_info.timing_meas_cap;
|
||||
roam_info->chan_info.nss = roam_synch_data->nss;
|
||||
roam_info->chan_info.rate_flags = roam_synch_data->max_rate_flags;
|
||||
roam_info->chan_info.ch_width = roam_synch_data->chan_width;
|
||||
/* This is temp ifdef will be removed in near future */
|
||||
#ifndef FEATURE_CM_ENABLE
|
||||
csr_roam_fill_tdls_info(mac_ctx, roam_info, vdev);
|
||||
#endif
|
||||
assoc_info.bss_desc = bss_desc;
|
||||
roam_info->status_code = eSIR_SME_SUCCESS;
|
||||
roam_info->reasonCode = eSIR_SME_SUCCESS;
|
||||
|
@@ -1186,9 +1186,8 @@ int wma_mlme_roam_synch_event_handler_cb(void *handle, uint8_t *event,
|
||||
/* update freq and channel width */
|
||||
wma->interfaces[synch_event->vdev_id].ch_freq =
|
||||
roam_synch_ind_ptr->chan_freq;
|
||||
if (roam_synch_ind_ptr->join_rsp)
|
||||
wma->interfaces[synch_event->vdev_id].chan_width =
|
||||
roam_synch_ind_ptr->join_rsp->vht_channel_width;
|
||||
wma->interfaces[synch_event->vdev_id].chan_width =
|
||||
roam_synch_ind_ptr->chan_width;
|
||||
/*
|
||||
* update phy_mode in wma to avoid mismatch in phymode between host and
|
||||
* firmware. The phymode stored in peer->peer_mlme.phymode is
|
||||
@@ -1221,8 +1220,8 @@ cleanup_label:
|
||||
if (synch_event)
|
||||
wma_post_roam_sync_failure(wma, synch_event->vdev_id);
|
||||
}
|
||||
if (roam_synch_ind_ptr && roam_synch_ind_ptr->join_rsp)
|
||||
qdf_mem_free(roam_synch_ind_ptr->join_rsp);
|
||||
if (roam_synch_ind_ptr && roam_synch_ind_ptr->ric_tspec_data)
|
||||
qdf_mem_free(roam_synch_ind_ptr->ric_tspec_data);
|
||||
if (roam_synch_ind_ptr)
|
||||
qdf_mem_free(roam_synch_ind_ptr);
|
||||
if (bss_desc_ptr)
|
||||
|
Reference in New Issue
Block a user