qcacld-3.0: Cleanup STA specific code from SAP/NAN start bss

Cleanup STA specific code from SAP/NAN start bss.

Change-Id: Iae62d8f01fef297f68ec7836b787b178167f0e69
CRs-Fixed: 2980398
这个提交包含在:
Abhishek Singh
2021-06-29 22:10:10 +05:30
提交者 Madan Koyyalamudi
父节点 928955ae6c
当前提交 76ff2f706c
修改 7 个文件,包含 49 行新增406 行删除

查看文件

@@ -639,7 +639,6 @@ struct csr_config_params {
struct csr_roam_info {
struct csr_roam_profile *pProfile;
struct bss_description *bss_desc;
uint32_t nBeaconLength;
uint32_t nAssocReqLength;
uint32_t nAssocRspLength;

查看文件

@@ -200,7 +200,6 @@ tAniEdType csr_translate_encrypt_type_to_ed_type(
bool csr_is_bssid_match(struct qdf_mac_addr *pProfBssid,
struct qdf_mac_addr *BssBssid);
bool csr_rates_is_dot11_rate_supported(struct mac_context *mac_ctx, uint8_t rate);
enum bss_type csr_translate_bsstype_to_mac_type(eCsrRoamBssType csrtype);
/* Caller allocates memory for pIEStruct */
QDF_STATUS csr_parse_bss_description_ies(struct mac_context *mac_ctx,

查看文件

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2016-2019 The Linux Foundation. All rights reserved.
* Copyright (c) 2016-2019, 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
@@ -32,11 +32,6 @@
QDF_STATUS csr_roam_start_ndi(struct mac_context *mac_ctx, uint32_t session_id,
struct csr_roam_profile *profile);
void csr_roam_save_ndi_connected_info(struct mac_context *mac_ctx,
uint32_t session_id,
struct csr_roam_profile *roam_profile,
struct bss_description *bss_desc);
void csr_roam_update_ndp_return_params(struct mac_context *mac_ctx,
uint32_t result,
uint32_t *roam_status,
@@ -52,13 +47,6 @@ static inline QDF_STATUS csr_roam_start_ndi(struct mac_context *mac_ctx,
return QDF_STATUS_SUCCESS;
}
static inline void csr_roam_save_ndi_connected_info(struct mac_context *mac_ctx,
uint32_t session_id,
struct csr_roam_profile *roam_profile,
struct bss_description *bss_desc)
{
}
static inline void csr_roam_update_ndp_return_params(struct mac_context *mac_ctx,
uint32_t result,
uint32_t *roam_status,

查看文件

@@ -186,18 +186,11 @@ csr_roam_get_phy_mode_band_for_bss(struct mac_context *mac,
struct csr_roam_profile *pProfile,
uint32_t bss_op_ch_freq,
enum reg_wifi_band *pBand);
static QDF_STATUS csr_roam_get_qos_info_from_bss(
struct mac_context *mac, struct bss_description *bss_desc);
static QDF_STATUS csr_roam_start_wds(struct mac_context *mac,
uint32_t sessionId,
struct csr_roam_profile *pProfile,
struct bss_description *bss_desc);
uint32_t sessionId,
struct csr_roam_profile *pProfile);
static void csr_init_session(struct mac_context *mac, uint32_t sessionId);
static QDF_STATUS
csr_roam_get_qos_info_from_bss(struct mac_context *mac,
struct bss_description *bss_desc);
static void csr_init_operating_classes(struct mac_context *mac);
static void csr_add_len_of_social_channels(struct mac_context *mac,
@@ -2327,10 +2320,9 @@ QDF_STATUS csr_roam_issue_deauth_sta_cmd(struct mac_context *mac,
return status;
}
QDF_STATUS csr_roam_prepare_bss_config_from_profile(
struct mac_context *mac, struct csr_roam_profile *pProfile,
struct bss_config_param *pBssConfig,
struct bss_description *bss_desc)
QDF_STATUS csr_roam_prepare_bss_config_from_profile(struct mac_context *mac,
struct csr_roam_profile *pProfile,
struct bss_config_param *pBssConfig)
{
QDF_STATUS status = QDF_STATUS_SUCCESS;
uint32_t bss_op_ch_freq = 0;
@@ -2369,10 +2361,6 @@ QDF_STATUS csr_roam_prepare_bss_config_from_profile(
&& (eCsrRoamWmmNoQos !=
mac->roam.configParam.WMMSupportMode)) {
qAPisEnabled = true;
} else
if (csr_roam_get_qos_info_from_bss(mac, bss_desc) ==
QDF_STATUS_SUCCESS) {
qAPisEnabled = true;
} else {
qAPisEnabled = false;
}
@@ -2420,31 +2408,6 @@ QDF_STATUS csr_roam_prepare_bss_config_from_profile(
return status;
}
static QDF_STATUS
csr_roam_get_qos_info_from_bss(struct mac_context *mac,
struct bss_description *bss_desc)
{
QDF_STATUS status = QDF_STATUS_E_FAILURE;
tDot11fBeaconIEs *pIes = NULL;
do {
if (!QDF_IS_STATUS_SUCCESS(
csr_get_parsed_bss_description_ies(
mac, bss_desc, &pIes))) {
sme_err("csr_get_parsed_bss_description_ies() failed");
break;
}
/* check if the AP is QAP & it supports APSD */
if (CSR_IS_QOS_BSS(pIes))
status = QDF_STATUS_SUCCESS;
} while (0);
if (pIes)
qdf_mem_free(pIes);
return status;
}
static QDF_STATUS csr_set_qos_to_cfg(struct mac_context *mac, uint32_t sessionId,
eCsrMediaAccessType qosType)
{
@@ -2487,117 +2450,6 @@ static QDF_STATUS csr_set_qos_to_cfg(struct mac_context *mac, uint32_t sessionId
return status;
}
static void csr_set_cfg_rate_set(struct mac_context *mac, eCsrPhyMode phyMode,
struct csr_roam_profile *pProfile,
struct bss_description *bss_desc,
tDot11fBeaconIEs *pIes,
uint32_t session_id)
{
int i;
uint8_t *pDstRate;
enum csr_cfgdot11mode cfgDot11Mode;
/* leave enough room for the max number of rates */
uint8_t OperationalRates[CSR_DOT11_SUPPORTED_RATES_MAX];
qdf_size_t OperationalRatesLength = 0;
/* leave enough room for the max number of rates */
uint8_t ExtendedOperationalRates
[CSR_DOT11_EXTENDED_SUPPORTED_RATES_MAX];
qdf_size_t ExtendedOperationalRatesLength = 0;
uint8_t MCSRateIdxSet[SIZE_OF_SUPPORTED_MCS_SET];
qdf_size_t MCSRateLength = 0;
struct wlan_objmgr_vdev *vdev;
QDF_ASSERT(pIes);
if (pIes) {
csr_is_phy_mode_match(mac, phyMode, bss_desc, pProfile,
&cfgDot11Mode, pIes);
/* Originally, we thought that for 11a networks, the 11a rates
* are always in the Operational Rate set & for 11b and 11g
* networks, the 11b rates appear in the Operational Rate set.
* Consequently, in either case, we would blindly put the rates
* we support into our Operational Rate set (including the basic
* rates, which we have already verified are supported earlier
* in the roaming decision). However, it turns out that this is
* not always the case. Some AP's (e.g. D-Link DI-784) ram 11g
* rates into the Operational Rate set, too. Now, we're a
* little more careful:
*/
pDstRate = OperationalRates;
if (pIes->SuppRates.present) {
for (i = 0; i < pIes->SuppRates.num_rates; i++) {
if (csr_rates_is_dot11_rate_supported
(mac, pIes->SuppRates.rates[i])
&& (OperationalRatesLength <
CSR_DOT11_SUPPORTED_RATES_MAX)) {
*pDstRate++ = pIes->SuppRates.rates[i];
OperationalRatesLength++;
}
}
}
if (eCSR_CFG_DOT11_MODE_11G == cfgDot11Mode ||
eCSR_CFG_DOT11_MODE_11N == cfgDot11Mode ||
eCSR_CFG_DOT11_MODE_ABG == cfgDot11Mode) {
/* If there are Extended Rates in the beacon, we will
* reflect those extended rates that we support in out
* Extended Operational Rate set:
*/
pDstRate = ExtendedOperationalRates;
if (pIes->ExtSuppRates.present) {
for (i = 0; i < pIes->ExtSuppRates.num_rates;
i++) {
if (csr_rates_is_dot11_rate_supported
(mac, pIes->ExtSuppRates.
rates[i])
&& (ExtendedOperationalRatesLength <
CSR_DOT11_EXTENDED_SUPPORTED_RATES_MAX)) {
*pDstRate++ =
pIes->ExtSuppRates.
rates[i];
ExtendedOperationalRatesLength++;
}
}
}
}
/* Enable proprietary MAC features if peer node is Airgo node
* and STA user wants to use them For ANI network companions,
* we need to populate the proprietary rate set with any
* proprietary rates we found in the beacon, only if user allows
* them.
*/
/* No proprietary modes... */
/* Get MCS Rate */
pDstRate = MCSRateIdxSet;
if (pIes->HTCaps.present) {
for (i = 0; i < VALID_MAX_MCS_INDEX; i++) {
if ((unsigned int)pIes->HTCaps.
supportedMCSSet[0] & (1 << i)) {
MCSRateLength++;
*pDstRate++ = i;
}
}
}
/* Set the operational rate set CFG variables... */
vdev = wlan_objmgr_get_vdev_by_id_from_pdev(
mac->pdev, session_id,
WLAN_LEGACY_SME_ID);
if (vdev) {
mlme_set_opr_rate(vdev, OperationalRates,
OperationalRatesLength);
mlme_set_ext_opr_rate(vdev, ExtendedOperationalRates,
ExtendedOperationalRatesLength);
wlan_objmgr_vdev_release_ref(vdev, WLAN_LEGACY_SME_ID);
} else {
sme_err("null vdev");
}
wlan_mlme_set_cfg_str(MCSRateIdxSet,
&mac->mlme_cfg->rates.current_mcs_set,
MCSRateLength);
} /* Parsing BSSDesc */
else
sme_err("failed to parse BssDesc");
}
static void csr_set_cfg_rate_set_from_profile(struct mac_context *mac,
struct csr_roam_profile *pProfile,
uint32_t session_id)
@@ -2712,9 +2564,6 @@ static void csr_roam_ccm_cfg_set_callback(struct mac_context *mac,
pCommand = GET_BASE_ADDR(pEntry, tSmeCmd, Link);
sessionId = pCommand->vdev_id;
if (MLME_IS_ROAM_SYNCH_IN_PROGRESS(mac->psoc, sessionId))
sme_debug("LFR3: Set ccm vdev_id:%d", session_id);
if (CSR_IS_ROAM_JOINING(mac, sessionId)
&& CSR_IS_ROAM_SUBSTATE_CONFIG(mac, sessionId)) {
csr_roaming_state_config_cnf_processor(mac, pCommand,
@@ -2725,10 +2574,7 @@ static void csr_roam_ccm_cfg_set_callback(struct mac_context *mac,
/* pIes may be NULL */
QDF_STATUS csr_roam_set_bss_config_cfg(struct mac_context *mac, uint32_t sessionId,
struct csr_roam_profile *pProfile,
struct bss_description *bss_desc,
struct bss_config_param *pBssConfig,
struct sDot11fBeaconIEs *pIes,
bool resetCountry)
struct bss_config_param *pBssConfig)
{
uint32_t cfgCb = WNI_CFG_CHANNEL_BONDING_MODE_DISABLE;
struct csr_roam_session *pSession = CSR_GET_SESSION(mac, sessionId);
@@ -2739,23 +2585,12 @@ QDF_STATUS csr_roam_set_bss_config_cfg(struct mac_context *mac, uint32_t session
return QDF_STATUS_E_FAILURE;
}
/* Make sure we have the domain info for the BSS we try to connect to.
* Do we need to worry about sequence for OSs that are not Windows??
*/
if (bss_desc) {
if ((wlan_reg_11d_enabled_on_host(mac->psoc)) && pIes) {
if (!pIes->Country.present)
csr_apply_channel_power_info_wrapper(mac);
}
}
/* Qos */
csr_set_qos_to_cfg(mac, sessionId, pBssConfig->qosType);
/* CB */
if (CSR_IS_INFRA_AP(pProfile))
chan_freq = pProfile->op_freq;
else if (bss_desc)
chan_freq = bss_desc->chan_freq;
if (0 != chan_freq) {
if (chan_freq) {
/* for now if we are on 2.4 Ghz, CB will be always disabled */
if (WLAN_REG_IS_24GHZ_CH_FREQ(chan_freq))
cfgCb = WNI_CFG_CHANNEL_BONDING_MODE_DISABLE;
@@ -2764,18 +2599,8 @@ QDF_STATUS csr_roam_set_bss_config_cfg(struct mac_context *mac, uint32_t session
}
/* Rate */
/* Fixed Rate */
if (bss_desc)
csr_set_cfg_rate_set(mac, (eCsrPhyMode) pProfile->phyMode,
pProfile, bss_desc, pIes, sessionId);
else
csr_set_cfg_rate_set_from_profile(mac, pProfile, sessionId);
csr_set_cfg_rate_set_from_profile(mac, pProfile, sessionId);
/* Any roaming related changes should be above this line */
if (MLME_IS_ROAM_SYNCH_IN_PROGRESS(mac->psoc, sessionId)) {
sme_debug("LFR3: Roam synch is in progress Session_id: %d",
sessionId);
return QDF_STATUS_SUCCESS;
}
/* Make this the last CFG to set. The callback will trigger a
* join_req Join time out
*/
@@ -2851,7 +2676,7 @@ static void csr_roam_join_handle_profile(struct mac_context *mac_ctx,
/* Attempt to start this WDS... */
csr_roam_assign_default_param(mac_ctx, cmd);
/* For AP WDS, we dont have any BSSDescription */
status = csr_roam_start_wds(mac_ctx, session_id, profile, NULL);
status = csr_roam_start_wds(mac_ctx, session_id, profile);
if (QDF_IS_STATUS_SUCCESS(status))
*roam_state = eCsrContinueRoaming;
else
@@ -3236,23 +3061,12 @@ static void csr_roam_process_start_bss_success(struct mac_context *mac_ctx,
session->connectState = eCSR_ASSOC_STATE_TYPE_WDS_DISCONNECTED;
bss_desc = &start_bss_rsp->bssDescription;
if (CSR_IS_NDI(profile)) {
csr_roam_state_change(mac_ctx, eCSR_ROAMING_STATE_JOINED,
session_id);
csr_roam_save_ndi_connected_info(mac_ctx, session_id, profile,
bss_desc);
csr_roam_save_connected_information(mac_ctx, session_id, profile);
if (CSR_IS_NDI(profile))
roam_info->u.pConnectedProfile = &session->connectedProfile;
qdf_mem_copy(&roam_info->bssid, &bss_desc->bssId,
sizeof(struct qdf_mac_addr));
} else {
csr_roam_state_change(mac_ctx, eCSR_ROAMING_STATE_JOINED,
session_id);
}
csr_roam_free_connect_profile(&session->connectedProfile);
csr_roam_state_change(mac_ctx, eCSR_ROAMING_STATE_JOINED, session_id);
csr_roam_free_connected_info(mac_ctx, &session->connectedInfo);
csr_roam_save_connected_information(mac_ctx, session_id,
profile, bss_desc, NULL);
qdf_mem_copy(&roam_info->bssid, &bss_desc->bssId,
sizeof(struct qdf_mac_addr));
/* We are done with the IEs so free it */
@@ -3295,11 +3109,6 @@ static void csr_roam_process_start_bss_success(struct mac_context *mac_ctx,
* will trigger the connection start indication in Vista
*/
roam_info->status_code = eSIR_SME_SUCCESS;
roam_info->bss_desc = bss_desc;
if (bss_desc)
qdf_mem_copy(roam_info->bssid.bytes, bss_desc->bssId,
sizeof(struct qdf_mac_addr));
csr_roam_call_callback(mac_ctx, session_id, roam_info,
cmd->u.roamCmd.roamId,
roam_status, roam_result);
@@ -3322,7 +3131,6 @@ static bool csr_roam_process_results(struct mac_context *mac_ctx, tSmeCmd *cmd,
void *context)
{
bool release_cmd = true;
struct bss_description *bss_desc = NULL;
struct csr_roam_info *roam_info;
uint32_t session_id = cmd->vdev_id;
struct csr_roam_session *session = CSR_GET_SESSION(mac_ctx, session_id);
@@ -3356,12 +3164,6 @@ static bool csr_roam_process_results(struct mac_context *mac_ctx, tSmeCmd *cmd,
&roam_result,
roam_info);
}
if (context)
bss_desc = (struct bss_description *) context;
else
bss_desc = NULL;
roam_info->bss_desc = bss_desc;
csr_roam_call_callback(mac_ctx, session_id, roam_info,
cmd->u.roamCmd.roamId, roam_status,
roam_result);
@@ -3832,12 +3634,9 @@ csr_fill_single_pmk(struct wlan_objmgr_psoc *psoc, uint8_t vdev_id,
QDF_STATUS
csr_roam_save_connected_information(struct mac_context *mac,
uint32_t sessionId,
struct csr_roam_profile *pProfile,
struct bss_description *pSirBssDesc,
tDot11fBeaconIEs *pIes)
struct csr_roam_profile *pProfile)
{
QDF_STATUS status = QDF_STATUS_SUCCESS;
tDot11fBeaconIEs *pIesTemp = pIes;
struct csr_roam_session *pSession = NULL;
tCsrRoamConnectedProfile *pConnectProfile = NULL;
@@ -3854,19 +3653,6 @@ csr_roam_save_connected_information(struct mac_context *mac,
pConnectProfile->BSSType = pProfile->BSSType;
pConnectProfile->modifyProfileFields.uapsd_mask =
pProfile->uapsd_mask;
/* Save bssid */
if (!pSirBssDesc->beaconInterval)
sme_err("ERROR: Beacon interval is ZERO");
if (!pIesTemp)
status = csr_get_parsed_bss_description_ies(mac, pSirBssDesc,
&pIesTemp);
/* save ssid */
if (QDF_IS_STATUS_SUCCESS(status)) {
if (!pIes)
/* Free memory if it allocated locally */
qdf_mem_free(pIesTemp);
}
return status;
}
@@ -5970,68 +5756,6 @@ csr_roam_get_bss_start_parms(struct mac_context *mac,
return QDF_STATUS_SUCCESS;
}
static void
csr_roam_get_bss_start_parms_from_bss_desc(
struct mac_context *mac,
struct bss_description *bss_desc,
tDot11fBeaconIEs *pIes,
struct csr_roamstart_bssparams *pParam)
{
if (!pParam) {
sme_err("BSS param's pointer is NULL");
return;
}
pParam->sirNwType = bss_desc->nwType;
pParam->cbMode = PHY_SINGLE_CHANNEL_CENTERED;
pParam->operation_chan_freq = bss_desc->chan_freq;
qdf_mem_copy(&pParam->bssid, bss_desc->bssId,
sizeof(struct qdf_mac_addr));
if (!pIes) {
pParam->ssId.length = 0;
pParam->operationalRateSet.numRates = 0;
sme_err("IEs struct pointer is NULL");
return;
}
if (pIes->SuppRates.present) {
pParam->operationalRateSet.numRates = pIes->SuppRates.num_rates;
if (pIes->SuppRates.num_rates > WLAN_SUPPORTED_RATES_IE_MAX_LEN) {
sme_err(
"num_rates: %d > max val, resetting",
pIes->SuppRates.num_rates);
pIes->SuppRates.num_rates =
WLAN_SUPPORTED_RATES_IE_MAX_LEN;
}
qdf_mem_copy(pParam->operationalRateSet.rate,
pIes->SuppRates.rates,
sizeof(*pIes->SuppRates.rates) *
pIes->SuppRates.num_rates);
}
if (pIes->ExtSuppRates.present) {
pParam->extendedRateSet.numRates = pIes->ExtSuppRates.num_rates;
if (pIes->ExtSuppRates.num_rates >
SIR_MAC_MAX_NUMBER_OF_RATES) {
sme_err("num_rates: %d > max val, resetting",
pIes->ExtSuppRates.num_rates);
pIes->ExtSuppRates.num_rates =
SIR_MAC_MAX_NUMBER_OF_RATES;
}
qdf_mem_copy(pParam->extendedRateSet.rate,
pIes->ExtSuppRates.rates,
sizeof(*pIes->ExtSuppRates.rates) *
pIes->ExtSuppRates.num_rates);
}
if (pIes->SSID.present) {
pParam->ssId.length = pIes->SSID.num_ssid;
qdf_mem_copy(pParam->ssId.ssId, pIes->SSID.ssid,
pParam->ssId.length);
}
pParam->cbMode =
wlan_get_cb_mode(mac, pParam->operation_chan_freq, pIes);
}
static void csr_roam_determine_max_rate_for_ad_hoc(struct mac_context *mac,
tSirMacRateSet *pSirRateSet)
{
@@ -6126,9 +5850,7 @@ QDF_STATUS csr_roam_issue_start_bss(struct mac_context *mac, uint32_t sessionId,
void csr_roam_prepare_bss_params(struct mac_context *mac, uint32_t sessionId,
struct csr_roam_profile *pProfile,
struct bss_description *bss_desc,
struct bss_config_param *pBssConfig,
tDot11fBeaconIEs *pIes)
struct bss_config_param *pBssConfig)
{
ePhyChanBondState cbMode = PHY_SINGLE_CHANNEL_CENTERED;
struct csr_roam_session *pSession = CSR_GET_SESSION(mac, sessionId);
@@ -6139,31 +5861,22 @@ void csr_roam_prepare_bss_params(struct mac_context *mac, uint32_t sessionId,
return;
}
if (bss_desc) {
csr_roam_get_bss_start_parms_from_bss_desc(mac, bss_desc, pIes,
&pSession->bssParams);
if (CSR_IS_NDI(pProfile)) {
qdf_copy_macaddr(&pSession->bssParams.bssid,
&pSession->self_mac_addr);
}
} else {
csr_roam_get_bss_start_parms(mac, pProfile,
&pSession->bssParams,
skip_hostapd_rate);
/* Use the first SSID */
if (pProfile->SSIDs.numOfSSIDs)
qdf_mem_copy(&pSession->bssParams.ssId,
pProfile->SSIDs.SSIDList,
sizeof(tSirMacSSid));
if (pProfile->BSSIDs.numOfBSSIDs)
/* Use the first BSSID */
qdf_mem_copy(&pSession->bssParams.bssid,
pProfile->BSSIDs.bssid,
sizeof(struct qdf_mac_addr));
else
qdf_mem_zero(&pSession->bssParams.bssid,
sizeof(struct qdf_mac_addr));
}
csr_roam_get_bss_start_parms(mac, pProfile, &pSession->bssParams,
skip_hostapd_rate);
/* Use the first SSID */
if (pProfile->SSIDs.numOfSSIDs)
qdf_mem_copy(&pSession->bssParams.ssId,
pProfile->SSIDs.SSIDList,
sizeof(tSirMacSSid));
if (pProfile->BSSIDs.numOfBSSIDs)
/* Use the first BSSID */
qdf_mem_copy(&pSession->bssParams.bssid,
pProfile->BSSIDs.bssid,
sizeof(struct qdf_mac_addr));
else
qdf_mem_zero(&pSession->bssParams.bssid,
sizeof(struct qdf_mac_addr));
/* Set operating frequency in pProfile which will be used */
/* in csr_roam_set_bss_config_cfg() to determine channel bonding */
/* mode and will be configured in CFG later */
@@ -6173,18 +5886,12 @@ void csr_roam_prepare_bss_params(struct mac_context *mac, uint32_t sessionId,
sme_err("CSR cannot find a channel to start");
else {
csr_roam_determine_max_rate_for_ad_hoc(mac,
&pSession->bssParams.
operationalRateSet);
&pSession->bssParams.operationalRateSet);
if (CSR_IS_INFRA_AP(pProfile)) {
if (WLAN_REG_IS_24GHZ_CH_FREQ(pProfile->op_freq)) {
cbMode =
mac->roam.configParam.
channelBondingMode24GHz;
} else {
cbMode =
mac->roam.configParam.
channelBondingMode5GHz;
}
if (WLAN_REG_IS_24GHZ_CH_FREQ(pProfile->op_freq))
cbMode = mac->roam.configParam.channelBondingMode24GHz;
else
cbMode = mac->roam.configParam.channelBondingMode5GHz;
sme_debug("## cbMode %d", cbMode);
pBssConfig->cbMode = cbMode;
pSession->bssParams.cbMode = cbMode;
@@ -6281,8 +5988,7 @@ void csr_clear_sae_single_pmk(struct wlan_objmgr_psoc *psoc,
#endif
static QDF_STATUS csr_roam_start_wds(struct mac_context *mac, uint32_t sessionId,
struct csr_roam_profile *pProfile,
struct bss_description *bss_desc)
struct csr_roam_profile *pProfile)
{
QDF_STATUS status = QDF_STATUS_SUCCESS;
struct csr_roam_session *pSession = CSR_GET_SESSION(mac, sessionId);
@@ -6305,10 +6011,8 @@ static QDF_STATUS csr_roam_start_wds(struct mac_context *mac, uint32_t sessionId
* need to adopt all Bss configuration parameters from the
* Profile.
*/
status = csr_roam_prepare_bss_config_from_profile(mac,
pProfile,
&bssConfig,
bss_desc);
status = csr_roam_prepare_bss_config_from_profile(mac, pProfile,
&bssConfig);
if (QDF_IS_STATUS_SUCCESS(status)) {
/* Save profile for late use */
csr_free_roam_profile(mac, sessionId);
@@ -6321,11 +6025,9 @@ static QDF_STATUS csr_roam_start_wds(struct mac_context *mac, uint32_t sessionId
}
/* Prepare some more parameters for this WDS */
csr_roam_prepare_bss_params(mac, sessionId, pProfile,
NULL, &bssConfig, NULL);
&bssConfig);
status = csr_roam_set_bss_config_cfg(mac, sessionId,
pProfile, NULL,
&bssConfig, NULL,
false);
pProfile, &bssConfig);
}
return status;

查看文件

@@ -155,9 +155,7 @@ csr_issue_set_context_req_helper(struct mac_context *mac,
QDF_STATUS
csr_roam_save_connected_information(struct mac_context *mac,
uint32_t sessionId,
struct csr_roam_profile *pProfile,
struct bss_description *pSirBssDesc,
tDot11fBeaconIEs *pIes);
struct csr_roam_profile *pProfile);
void csr_roam_check_for_link_status_change(struct mac_context *mac,
tSirSmeRsp *pSirMsg);
@@ -607,15 +605,12 @@ QDF_STATUS csr_set_ht2040_mode(struct mac_context *mac, uint32_t sessionId,
QDF_STATUS
csr_roam_prepare_bss_config_from_profile(struct mac_context *mac_ctx,
struct csr_roam_profile *profile,
struct bss_config_param *bss_cfg,
struct bss_description *bss_desc);
struct bss_config_param *bss_cfg);
void
csr_roam_prepare_bss_params(struct mac_context *mac_ctx, uint32_t session_id,
struct csr_roam_profile *profile,
struct bss_description *bss_desc,
struct bss_config_param *bss_cfg,
tDot11fBeaconIEs *ies);
struct bss_config_param *bss_cfg);
/**
* csr_remove_bssid_from_scan_list() - remove the bssid from
@@ -633,9 +628,7 @@ void csr_remove_bssid_from_scan_list(struct mac_context *mac_ctx,
QDF_STATUS
csr_roam_set_bss_config_cfg(struct mac_context *mac_ctx, uint32_t session_id,
struct csr_roam_profile *profile,
struct bss_description *bss_desc,
struct bss_config_param *bss_cfg,
tDot11fBeaconIEs *ies, bool reset_country);
struct bss_config_param *bss_cfg);
void csr_prune_channel_list_for_mode(struct mac_context *mac,
struct csr_channel *pChannelList);

查看文件

@@ -2124,12 +2124,6 @@ bool csr_is_bssid_match(struct qdf_mac_addr *pProfBssid,
return fMatch;
}
bool csr_rates_is_dot11_rate_supported(struct mac_context *mac_ctx,
uint8_t rate)
{
return wlan_rates_is_dot11_rate_supported(mac_ctx, rate);
}
void csr_release_profile(struct mac_context *mac,
struct csr_roam_profile *pProfile)
{

查看文件

@@ -44,19 +44,19 @@ QDF_STATUS csr_roam_start_ndi(struct mac_context *mac_ctx, uint32_t session,
/* Build BSS configuration from profile */
status = csr_roam_prepare_bss_config_from_profile(mac_ctx, profile,
&bss_cfg, NULL);
&bss_cfg);
if (QDF_IS_STATUS_SUCCESS(status)) {
mac_ctx->roam.roamSession[session].bssParams.uCfgDot11Mode
= bss_cfg.uCfgDot11Mode;
/* Copy profile parameters to PE session */
csr_roam_prepare_bss_params(mac_ctx, session, profile, NULL,
&bss_cfg, NULL);
csr_roam_prepare_bss_params(mac_ctx, session, profile,
&bss_cfg);
/*
* Following routine will eventually call
* csrRoamIssueStartBss through csrRoamCcmCfgSetCallback
*/
status = csr_roam_set_bss_config_cfg(mac_ctx, session, profile,
NULL, &bss_cfg, NULL, false);
&bss_cfg);
}
sme_debug("profile config validity: %d", status);
@@ -64,38 +64,6 @@ QDF_STATUS csr_roam_start_ndi(struct mac_context *mac_ctx, uint32_t session,
return status;
}
/**
* csr_roam_save_ndi_connected_info() - Save connected profile parameters
* @mac_ctx: Global MAC context
* @session_id: Session ID
* @roam_profile: Profile given for starting BSS
* @bssdesc: BSS description from start BSS response
*
* Saves NDI profile parameters into session's connected profile.
*
* Return: None
*/
void csr_roam_save_ndi_connected_info(struct mac_context *mac_ctx,
uint32_t session_id,
struct csr_roam_profile *roam_profile,
struct bss_description *bssdesc)
{
struct csr_roam_session *roam_session;
tCsrRoamConnectedProfile *connect_profile;
roam_session = CSR_GET_SESSION(mac_ctx, session_id);
if (!roam_session) {
sme_err("session %d not found", session_id);
return;
}
connect_profile = &roam_session->connectedProfile;
qdf_mem_zero(connect_profile, sizeof(*connect_profile));
connect_profile->BSSType = roam_profile->BSSType;
connect_profile->modifyProfileFields.uapsd_mask =
roam_profile->uapsd_mask;
}
/**
* csr_roam_update_ndp_return_params() - updates ndp return parameters
* @mac_ctx: MAC context handle