diff --git a/core/mac/src/pe/lim/lim_api.c b/core/mac/src/pe/lim/lim_api.c index 1ca3810e8d45..6cf1aafcd5eb 100644 --- a/core/mac/src/pe/lim/lim_api.c +++ b/core/mac/src/pe/lim/lim_api.c @@ -2443,10 +2443,10 @@ pe_roam_synch_callback(struct mac_context *mac_ctx, return status; } - add_bss_params->bss_idx = roam_sync_ind_ptr->roamed_vdev_id; - ft_session_ptr->bss_idx = (uint8_t)add_bss_params->bss_idx; + add_bss_params->vdev_id = roam_sync_ind_ptr->roamed_vdev_id; + ft_session_ptr->bss_idx = add_bss_params->vdev_id; - curr_sta_ds->bssId = add_bss_params->bss_idx; + curr_sta_ds->bssId = add_bss_params->vdev_id; curr_sta_ds->staIndex = add_bss_params->staContext.staIdx; mac_ctx->roam.reassocRespLen = roam_sync_ind_ptr->reassocRespLength; mac_ctx->roam.pReassocResp = diff --git a/core/mac/src/pe/lim/lim_assoc_utils.c b/core/mac/src/pe/lim/lim_assoc_utils.c index a9307d15eaec..205440b5e42e 100644 --- a/core/mac/src/pe/lim/lim_assoc_utils.c +++ b/core/mac/src/pe/lim/lim_assoc_utils.c @@ -3529,8 +3529,6 @@ void lim_sta_add_bss_update_ht_parameter(uint32_t bss_chan_freq, if (!ht_inf->present) return; - add_bss->htOperMode = ht_inf->opMode; - add_bss->dualCTSProtection = ht_inf->dualCTSProtection; if (chan_width_support && ht_cap->supportedChannelWidthSet) { add_bss->ch_width = ht_inf->recommendedTxWidthSet; if (ht_inf->secondaryChannelOffset == @@ -3543,20 +3541,9 @@ void lim_sta_add_bss_update_ht_parameter(uint32_t bss_chan_freq, add_bss->ch_width = CH_WIDTH_20MHZ; add_bss->chan_freq_seg0 = 0; } - add_bss->llnNonGFCoexist = ht_inf->nonGFDevicesPresent; - add_bss->fLsigTXOPProtectionFullSupport = - ht_inf->lsigTXOPProtectionFullSupport; - add_bss->fRIFSMode = ht_inf->rifsMode; - pe_debug("htOperMode: %d dualCTSProtection: %d txChannelWidth: %d", - add_bss->htOperMode, - add_bss->dualCTSProtection, + + pe_debug("center_freq_0: %d ch_width %d", add_bss->chan_freq_seg0, add_bss->ch_width); - pe_debug("center_freq_0: %d llnNonGFCoexist: %d", - add_bss->chan_freq_seg0, - add_bss->llnNonGFCoexist); - pe_debug("fLsigTXOPProtectionFullSupport: %d fRIFSMode: %d", - add_bss->fLsigTXOPProtectionFullSupport, - add_bss->fRIFSMode); } QDF_STATUS lim_sta_send_add_bss(struct mac_context *mac, tpSirAssocRsp pAssocRsp, @@ -3597,32 +3584,13 @@ QDF_STATUS lim_sta_send_add_bss(struct mac_context *mac, tpSirAssocRsp pAssocRsp pe_debug("BSSID: " QDF_MAC_ADDR_STR, QDF_MAC_ADDR_ARRAY(pAddBssParams->bssId)); - pAddBssParams->bssType = eSIR_INFRASTRUCTURE_MODE; - - pAddBssParams->operMode = BSS_OPERATIONAL_MODE_STA; - - /* Update PE session ID */ - pAddBssParams->sessionId = pe_session->peSessionId; - pAddBssParams->bss_idx = pe_session->smeSessionId; + pAddBssParams->vdev_id = pe_session->smeSessionId; pAddBssParams->beaconInterval = bssDescription->beaconInterval; pAddBssParams->dtimPeriod = pBeaconStruct->tim.dtimPeriod; pAddBssParams->updateBss = updateEntry; - pAddBssParams->cfParamSet.cfpCount = pBeaconStruct->cfParamSet.cfpCount; - pAddBssParams->cfParamSet.cfpPeriod = - pBeaconStruct->cfParamSet.cfpPeriod; - pAddBssParams->cfParamSet.cfpMaxDuration = - pBeaconStruct->cfParamSet.cfpMaxDuration; - pAddBssParams->cfParamSet.cfpDurRemaining = - pBeaconStruct->cfParamSet.cfpDurRemaining; - - pAddBssParams->rateSet.numRates = pAssocRsp->supportedRates.numRates; - qdf_mem_copy(pAddBssParams->rateSet.rate, - pAssocRsp->supportedRates.rate, - pAssocRsp->supportedRates.numRates); - if (IS_DOT11_MODE_11B(pe_session->dot11mode) && bssDescription->nwType != eSIR_11B_NW_TYPE) { pAddBssParams->nwType = eSIR_11B_NW_TYPE; @@ -3632,31 +3600,15 @@ QDF_STATUS lim_sta_send_add_bss(struct mac_context *mac, tpSirAssocRsp pAssocRsp pAddBssParams->shortSlotTimeSupported = (uint8_t) pAssocRsp->capabilityInfo.shortSlotTime; - pAddBssParams->llaCoexist = - (uint8_t) pe_session->beaconParams.llaCoexist; pAddBssParams->llbCoexist = (uint8_t) pe_session->beaconParams.llbCoexist; - pAddBssParams->llgCoexist = - (uint8_t) pe_session->beaconParams.llgCoexist; - pAddBssParams->ht20Coexist = - (uint8_t) pe_session->beaconParams.ht20Coexist; - pe_debug("BSS Type %d Beacon Interval: %d dtimPeriod: %d " - "cfpCount: %d", pAddBssParams->bssType, - pAddBssParams->beaconInterval, pAddBssParams->dtimPeriod, - pAddBssParams->cfParamSet.cfpCount); + pe_debug("Beacon Interval: %d dtimPeriod: %d", + pAddBssParams->beaconInterval, pAddBssParams->dtimPeriod); - pe_debug("cfpPeriod: %d cfpMaxDuration: %d cfpDurRemaining: %d " - "numRates: %d", pAddBssParams->cfParamSet.cfpPeriod, - pAddBssParams->cfParamSet.cfpMaxDuration, - pAddBssParams->cfParamSet.cfpDurRemaining, - pAddBssParams->rateSet.numRates); - - pe_debug("nwType:%d shortSlotTimeSupported: %d llaCoexist: %d " - "llbCoexist: %d llgCoexist: %d ht20Coexist: %d", + pe_debug("nwType:%d shortSlotTimeSupported: %d llbCoexist: %d", pAddBssParams->nwType, pAddBssParams->shortSlotTimeSupported, - pAddBssParams->llaCoexist, pAddBssParams->llbCoexist, - pAddBssParams->llgCoexist, pAddBssParams->ht20Coexist); + pAddBssParams->llbCoexist); pAddBssParams->dot11_mode = pe_session->dot11mode; pe_debug("dot11_mode: %d", pAddBssParams->dot11_mode); @@ -3965,9 +3917,6 @@ QDF_STATUS lim_sta_send_add_bss(struct mac_context *mac, tpSirAssocRsp pAssocRsp pAddBssParams->maxTxPower = pe_session->maxTxPower; pe_debug("maxTxPower: %d", pAddBssParams->maxTxPower); - /* FIXME_GEN4 - Any other value that can be used for initialization? */ - pAddBssParams->status = QDF_STATUS_SUCCESS; - pAddBssParams->respReqd = true; /* update persona */ pAddBssParams->halPersona = (uint8_t)pe_session->opmode; @@ -4095,62 +4044,25 @@ QDF_STATUS lim_sta_send_add_bss_pre_assoc(struct mac_context *mac, pe_debug("BSSID: " QDF_MAC_ADDR_STR, QDF_MAC_ADDR_ARRAY(pAddBssParams->bssId)); - /* Incorrect BSS Type which caused UMA Descriptor to be overwritten on - * top of an already established Infra link. This lead to issues in - * concurrent data transfer. - */ - - pAddBssParams->bssType = pe_session->bssType; /* eSIR_INFRASTRUCTURE_MODE; */ - pAddBssParams->operMode = BSS_OPERATIONAL_MODE_STA; pAddBssParams->beaconInterval = bssDescription->beaconInterval; pAddBssParams->dtimPeriod = pBeaconStruct->tim.dtimPeriod; pAddBssParams->updateBss = false; - pAddBssParams->cfParamSet.cfpCount = pBeaconStruct->cfParamSet.cfpCount; - pAddBssParams->cfParamSet.cfpPeriod = - pBeaconStruct->cfParamSet.cfpPeriod; - pAddBssParams->cfParamSet.cfpMaxDuration = - pBeaconStruct->cfParamSet.cfpMaxDuration; - pAddBssParams->cfParamSet.cfpDurRemaining = - pBeaconStruct->cfParamSet.cfpDurRemaining; - - pAddBssParams->rateSet.numRates = - pBeaconStruct->supportedRates.numRates; - qdf_mem_copy(pAddBssParams->rateSet.rate, - pBeaconStruct->supportedRates.rate, - pBeaconStruct->supportedRates.numRates); - pAddBssParams->nwType = bssDescription->nwType; pAddBssParams->shortSlotTimeSupported = (uint8_t) pBeaconStruct->capabilityInfo.shortSlotTime; - pAddBssParams->llaCoexist = - (uint8_t) pe_session->beaconParams.llaCoexist; pAddBssParams->llbCoexist = (uint8_t) pe_session->beaconParams.llbCoexist; - pAddBssParams->llgCoexist = - (uint8_t) pe_session->beaconParams.llgCoexist; - pAddBssParams->ht20Coexist = - (uint8_t) pe_session->beaconParams.ht20Coexist; - pe_debug("BSS Type %d Beacon Interval: %d dtimPeriod: %d " - "cfpCount: %d", pAddBssParams->bssType, - pAddBssParams->beaconInterval, pAddBssParams->dtimPeriod, - pAddBssParams->cfParamSet.cfpCount); + pe_debug("Beacon Interval: %d dtimPeriod: %d", + pAddBssParams->beaconInterval, pAddBssParams->dtimPeriod); - pe_debug("cfpPeriod: %d cfpMaxDuration: %d cfpDurRemaining: %d" - " numRates: %d", pAddBssParams->cfParamSet.cfpPeriod, - pAddBssParams->cfParamSet.cfpMaxDuration, - pAddBssParams->cfParamSet.cfpDurRemaining, - pAddBssParams->rateSet.numRates); - - pe_debug("nwType:%d shortSlotTimeSupported: %d" - "llaCoexist: %d llbCoexist: %d llgCoexist: %d ht20Coexist: %d", + pe_debug("nwType:%d shortSlotTimeSupported: %d llbCoexist: %d", pAddBssParams->nwType, pAddBssParams->shortSlotTimeSupported, - pAddBssParams->llaCoexist, pAddBssParams->llbCoexist, - pAddBssParams->llgCoexist, pAddBssParams->ht20Coexist); + pAddBssParams->llbCoexist); /* Use the advertised capabilities from the received beacon/PR */ if (IS_DOT11_MODE_HT(pe_session->dot11mode)) { @@ -4405,13 +4317,9 @@ QDF_STATUS lim_sta_send_add_bss_pre_assoc(struct mac_context *mac, pAddBssParams->maxTxPower = pe_session->maxTxPower; pe_debug("maxTxPower: %d", pAddBssParams->maxTxPower); - pAddBssParams->status = QDF_STATUS_SUCCESS; - pAddBssParams->respReqd = true; - pAddBssParams->staContext.smesessionId = pe_session->smeSessionId; pAddBssParams->staContext.sessionId = pe_session->peSessionId; - pAddBssParams->sessionId = pe_session->peSessionId; - pAddBssParams->bss_idx = pe_session->smeSessionId; + pAddBssParams->vdev_id = pe_session->smeSessionId; pAddBssParams->halPersona = (uint8_t)pe_session->opmode; @@ -4460,9 +4368,14 @@ QDF_STATUS lim_sta_send_add_bss_pre_assoc(struct mac_context *mac, if (lim_is_fils_connection(pe_session)) pAddBssParams->no_ptk_4_way = true; - pAddBssParams->status = wma_pre_assoc_req(pAddBssParams); - lim_process_sta_add_bss_rsp_pre_assoc(mac, pAddBssParams, pe_session); + retCode = wma_pre_assoc_req(pAddBssParams); + lim_process_sta_add_bss_rsp_pre_assoc(mac, pAddBssParams, + pe_session, retCode); qdf_mem_free(pAddBssParams); + /* + * Set retCode sucess as lim_process_sta_add_bss_rsp_pre_assoc take + * care of failure + */ retCode = QDF_STATUS_SUCCESS; returnFailure: diff --git a/core/mac/src/pe/lim/lim_ft.c b/core/mac/src/pe/lim/lim_ft.c index e7061eec10a2..d86fef2f67ca 100644 --- a/core/mac/src/pe/lim/lim_ft.c +++ b/core/mac/src/pe/lim/lim_ft.c @@ -153,43 +153,17 @@ void lim_ft_prepare_add_bss_req(struct mac_context *mac, /* Fill in struct bss_params self_mac_addr */ qdf_mem_copy(pAddBssParams->self_mac_addr, ft_session->self_mac_addr, sizeof(tSirMacAddr)); - - pAddBssParams->bssType = ft_session->bssType; - pAddBssParams->operMode = BSS_OPERATIONAL_MODE_STA; - pAddBssParams->beaconInterval = bssDescription->beaconInterval; pAddBssParams->dtimPeriod = pBeaconStruct->tim.dtimPeriod; pAddBssParams->updateBss = false; - pAddBssParams->reassocReq = true; - - pAddBssParams->cfParamSet.cfpCount = pBeaconStruct->cfParamSet.cfpCount; - pAddBssParams->cfParamSet.cfpPeriod = - pBeaconStruct->cfParamSet.cfpPeriod; - pAddBssParams->cfParamSet.cfpMaxDuration = - pBeaconStruct->cfParamSet.cfpMaxDuration; - pAddBssParams->cfParamSet.cfpDurRemaining = - pBeaconStruct->cfParamSet.cfpDurRemaining; - - pAddBssParams->rateSet.numRates = - pBeaconStruct->supportedRates.numRates; - qdf_mem_copy(pAddBssParams->rateSet.rate, - pBeaconStruct->supportedRates.rate, - pBeaconStruct->supportedRates.numRates); - pAddBssParams->nwType = bssDescription->nwType; pAddBssParams->shortSlotTimeSupported = (uint8_t) pBeaconStruct->capabilityInfo.shortSlotTime; - pAddBssParams->llaCoexist = - (uint8_t) ft_session->beaconParams.llaCoexist; pAddBssParams->llbCoexist = (uint8_t) ft_session->beaconParams.llbCoexist; - pAddBssParams->llgCoexist = - (uint8_t) ft_session->beaconParams.llgCoexist; - pAddBssParams->ht20Coexist = - (uint8_t) ft_session->beaconParams.ht20Coexist; #ifdef WLAN_FEATURE_11W pAddBssParams->rmfEnabled = ft_session->limRmfEnabled; #endif @@ -408,14 +382,9 @@ void lim_ft_prepare_add_bss_req(struct mac_context *mac, pAddBssParams->staContext.rmfEnabled = 1; } #endif - - pAddBssParams->status = QDF_STATUS_SUCCESS; - pAddBssParams->respReqd = true; - pAddBssParams->staContext.sessionId = ft_session->peSessionId; pAddBssParams->staContext.smesessionId = ft_session->smeSessionId; - pAddBssParams->sessionId = ft_session->peSessionId; - pAddBssParams->bss_idx = ft_session->smeSessionId; + pAddBssParams->vdev_id = ft_session->smeSessionId; /* Set a new state for MLME */ if (!lim_is_roam_synch_in_progress(ft_session)) { diff --git a/core/mac/src/pe/lim/lim_process_mlm_req_messages.c b/core/mac/src/pe/lim/lim_process_mlm_req_messages.c index 67d4698de8ca..7a195b76e57b 100644 --- a/core/mac/src/pe/lim/lim_process_mlm_req_messages.c +++ b/core/mac/src/pe/lim/lim_process_mlm_req_messages.c @@ -300,7 +300,6 @@ lim_mlm_add_bss(struct mac_context *mac_ctx, { struct scheduler_msg msg_buf = {0}; struct bss_params *addbss_param = NULL; - struct wlan_mlme_qos *qos_aggr = &mac_ctx->mlme_cfg->qos_mlme_params; uint32_t retcode; bool is_ch_dfs = false; @@ -317,35 +316,10 @@ lim_mlm_add_bss(struct mac_context *mac_ctx, qdf_mem_copy(addbss_param->self_mac_addr, session->self_mac_addr, sizeof(tSirMacAddr)); - addbss_param->bssType = mlm_start_req->bssType; - if (mlm_start_req->bssType == eSIR_IBSS_MODE) - addbss_param->operMode = BSS_OPERATIONAL_MODE_STA; - else if (mlm_start_req->bssType == eSIR_INFRA_AP_MODE) - addbss_param->operMode = BSS_OPERATIONAL_MODE_AP; - else if (mlm_start_req->bssType == eSIR_NDI_MODE) - addbss_param->operMode = BSS_OPERATIONAL_MODE_NDI; - addbss_param->shortSlotTimeSupported = session->shortSlotTimeSupported; addbss_param->beaconInterval = mlm_start_req->beaconPeriod; addbss_param->dtimPeriod = mlm_start_req->dtimPeriod; addbss_param->wps_state = mlm_start_req->wps_state; - addbss_param->cfParamSet.cfpCount = mlm_start_req->cfParamSet.cfpCount; - addbss_param->cfParamSet.cfpPeriod = - mlm_start_req->cfParamSet.cfpPeriod; - addbss_param->cfParamSet.cfpMaxDuration = - mlm_start_req->cfParamSet.cfpMaxDuration; - addbss_param->cfParamSet.cfpDurRemaining = - mlm_start_req->cfParamSet.cfpDurRemaining; - - addbss_param->rateSet.numRates = mlm_start_req->rateSet.numRates; - if (addbss_param->rateSet.numRates > WLAN_SUPPORTED_RATES_IE_MAX_LEN) { - pe_warn("num of sup rates %d exceeding the limit %d, resetting", - addbss_param->rateSet.numRates, - WLAN_SUPPORTED_RATES_IE_MAX_LEN); - addbss_param->rateSet.numRates = WLAN_SUPPORTED_RATES_IE_MAX_LEN; - } - qdf_mem_copy(addbss_param->rateSet.rate, mlm_start_req->rateSet.rate, - addbss_param->rateSet.numRates); addbss_param->nwType = mlm_start_req->nwType; addbss_param->htCapable = mlm_start_req->htCapable; @@ -363,9 +337,6 @@ lim_mlm_add_bss(struct mac_context *mac_ctx, addbss_param->chan_freq_seg1 = wlan_reg_chan_to_freq(mac_ctx->pdev, session->ch_center_freq_seg1); - addbss_param->htOperMode = mlm_start_req->htOperMode; - addbss_param->dualCTSProtection = mlm_start_req->dualCTSProtection; - addbss_param->txChannelWidthSet = mlm_start_req->txChannelWidthSet; addbss_param->op_chan_freq = wlan_reg_chan_to_freq(mac_ctx->pdev, @@ -374,10 +345,7 @@ lim_mlm_add_bss(struct mac_context *mac_ctx, addbss_param->rmfEnabled = session->limRmfEnabled; #endif - /* Update PE sessionId */ - addbss_param->sessionId = mlm_start_req->sessionId; - addbss_param->bss_idx = session->smeSessionId; - + addbss_param->vdev_id = session->smeSessionId; /* Send the SSID to HAL to enable SSID matching for IBSS */ addbss_param->ssId.length = mlm_start_req->ssId.length; @@ -392,19 +360,11 @@ lim_mlm_add_bss(struct mac_context *mac_ctx, mlm_start_req->ssId.ssId, addbss_param->ssId.length); addbss_param->bHiddenSSIDEn = mlm_start_req->ssidHidden; pe_debug("TRYING TO HIDE SSID %d", addbss_param->bHiddenSSIDEn); - /* CR309183. Disable Proxy Probe Rsp. Host handles Probe Requests. Until FW fixed. */ - addbss_param->bProxyProbeRespEn = 0; - addbss_param->obssProtEnabled = mlm_start_req->obssProtEnabled; - addbss_param->maxTxPower = session->maxTxPower; mlm_add_sta(mac_ctx, &addbss_param->staContext, addbss_param->bssId, addbss_param->htCapable, session); - - addbss_param->status = QDF_STATUS_SUCCESS; - addbss_param->respReqd = 1; - /* Set a new state for MLME */ session->limMlmState = eLIM_MLM_WT_ADD_BSS_RSP_STATE; MTRACE(mac_trace(mac_ctx, TRACE_CODE_MLM_STATE, session->peSessionId, @@ -440,26 +400,6 @@ lim_mlm_add_bss(struct mac_context *mac_ctx, addbss_param->cac_duration_ms = mlm_start_req->cac_duration_ms; addbss_param->dfs_regdomain = mlm_start_req->dfs_regdomain; addbss_param->beacon_tx_rate = session->beacon_tx_rate; - if (QDF_IBSS_MODE == addbss_param->halPersona) { - if (!(mac_ctx->mlme_cfg)) { - pe_err("Mlme cfg NULL"); - return eSIR_SME_INVALID_PARAMETERS; - } - addbss_param->nss_2g = mac_ctx->vdev_type_nss_2g.ibss; - addbss_param->nss_5g = mac_ctx->vdev_type_nss_5g.ibss; - addbss_param->tx_aggregation_size = - qos_aggr->tx_aggregation_size; - addbss_param->tx_aggregation_size_be = - qos_aggr->tx_aggregation_size_be; - addbss_param->tx_aggregation_size_bk = - qos_aggr->tx_aggregation_size_bk; - addbss_param->tx_aggregation_size_vi = - qos_aggr->tx_aggregation_size_vi; - addbss_param->tx_aggregation_size_vo = - qos_aggr->tx_aggregation_size_vo; - addbss_param->rx_aggregation_size = - qos_aggr->rx_aggregation_size; - } pe_debug("dot11_mode:%d nss value:%d", addbss_param->dot11_mode, addbss_param->nss); diff --git a/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c b/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c index 91c2865eee6b..d6c2f38a5898 100644 --- a/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c +++ b/core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c @@ -2121,7 +2121,8 @@ static void lim_update_fils_auth_mode(struct pe_session *session_entry, void lim_process_sta_add_bss_rsp_pre_assoc(struct mac_context *mac_ctx, struct bss_params *add_bss_params, - struct pe_session *session_entry) + struct pe_session *session_entry, + QDF_STATUS status) { tAniAuthType cfgAuthType, authMode; tLimMlmAuthReq *pMlmAuthReq; @@ -2131,7 +2132,7 @@ void lim_process_sta_add_bss_rsp_pre_assoc(struct mac_context *mac_ctx, pe_err("Invalid body pointer in message"); goto joinFailure; } - if (QDF_IS_STATUS_SUCCESS(add_bss_params->status)) { + if (QDF_IS_STATUS_SUCCESS(status)) { sta = dph_add_hash_entry(mac_ctx, add_bss_params->staContext.staMac, DPH_STA_HASH_INDEX_PEER, @@ -2143,9 +2144,9 @@ void lim_process_sta_add_bss_rsp_pre_assoc(struct mac_context *mac_ctx, add_bss_params->staContext.staMac, LOGE); goto joinFailure; } - session_entry->bss_idx = (uint8_t)add_bss_params->bss_idx; + session_entry->vdev_id = add_bss_params->vdev_id; /* Success, handle below */ - sta->bssId = add_bss_params->bss_idx; + sta->bssId = add_bss_params->vdev_id; /* STA Index(genr by HAL) for the BSS entry is stored here */ sta->staIndex = add_bss_params->staContext.staIdx; /* Trigger Authentication with AP */ diff --git a/core/mac/src/pe/lim/lim_types.h b/core/mac/src/pe/lim/lim_types.h index eedaf842acbf..24274500a5d4 100644 --- a/core/mac/src/pe/lim/lim_types.h +++ b/core/mac/src/pe/lim/lim_types.h @@ -1267,6 +1267,7 @@ bool lim_send_assoc_ind_to_sme(struct mac_context *mac_ctx, * @mac_ctx: Pointer to mac context * @pAddBssParams: Bss params including rsp data * @session_entry: PE session handle + * @status: Qdf status * * This function is called to process a WMA_ADD_BSS_RSP from HAL. * Upon receipt of this message from HAL if the state is pre assoc. @@ -1275,5 +1276,6 @@ bool lim_send_assoc_ind_to_sme(struct mac_context *mac_ctx, */ void lim_process_sta_add_bss_rsp_pre_assoc(struct mac_context *mac_ctx, struct bss_params *add_bss_params, - struct pe_session *session_entry); + struct pe_session *session_entry, + QDF_STATUS status); #endif /* __LIM_TYPES_H */ diff --git a/core/wma/inc/wma.h b/core/wma/inc/wma.h index 5861e95e047e..1521ca1b9c34 100644 --- a/core/wma/inc/wma.h +++ b/core/wma/inc/wma.h @@ -1241,7 +1241,6 @@ struct wma_vdev_start_req { bool is_dfs; uint8_t vdev_id; uint32_t op_chan_freq; - uint8_t oper_mode; tSirMacSSid ssid; uint8_t hidden_ssid; uint8_t pmf_enabled; diff --git a/core/wma/inc/wma_if.h b/core/wma/inc/wma_if.h index 3c018f342d2e..5996d765c492 100644 --- a/core/wma/inc/wma_if.h +++ b/core/wma/inc/wma_if.h @@ -372,49 +372,29 @@ typedef struct sLimMlmSetKeysReq { * struct struct bss_params - parameters required for add bss params * @bssId: MAC Address/BSSID * @self_mac_addr: Self Mac Address - * @bssType: BSS type - * @operMode: AP - 0; STA - 1; * @nwType: network type * @shortSlotTimeSupported: is short slot time supported or not - * @llaCoexist: is 11a coexist or not * @llbCoexist: 11b coexist supported or not - * @llgCoexist: 11g coexist supported or not - * @ht20Coexist: HT20 coexist supported or not - * @fLsigTXOPProtectionFullSupport: TXOP protection supported or not - * @fRIFSMode: RIFS is supported or not * @beaconInterval: beacon interval * @dtimPeriod: DTIM period - * @cfParamSet: CF Param Set - * @rateSet: MAC Rate Set * @htCapable: Enable/Disable HT capabilities - * @obssProtEnabled: Enable/Disable OBSS protection * @rmfEnabled: RMF enabled/disabled - * @htOperMode: HT Operating Mode - * @HT Operating Mode: Dual CTS Protection: 0 - Unused, 1 - Used - * @txChannelWidthSet: TX Width Set: 0 - 20 MHz only, 1 - 20/40 MHz * @op_chan_freq: Current Operating frequency * @staContext: sta context - * @status: status - * @bss_idx: BSS index allocated by HAL + * @vdev_id: vdev id * @updateBss: update the existing BSS entry, if this flag is set * @ssId: Add BSSID info for rxp filter - * @respReqd: send the response message to LIM only when this flag is set - * @sessionId: PE session id * @txMgmtPower: tx power used for mgmt frames * @maxTxPower: max power to be used after applying the power constraint * @extSetStaKeyParamValid: Ext Bss Config Msg if set * @extSetStaKeyParam: SetStaKeyParams for ext bss msg * @bHiddenSSIDEn: To Enable Hidden ssid. - * @bProxyProbeRespEn: To Enable Disable FW Proxy Probe Resp * @halPersona: Persona for the BSS can be STA,AP,GO,CLIENT value * @bSpectrumMgtEnabled: Spectrum Management Capability, 1:Enabled, 0:Disabled. * @vhtCapable: VHT capablity * @vhtTxChannelWidthSet: VHT tx channel width * @chan_freq_seg0: center freq seq 0 * @chan_freq_seg1: center freq seq 1 - * @reassocReq: Set only during roaming reassociation - * @chainMask: chain mask - * @smpsMode: SMPS mode * @dot11_mode: 802.11 mode * @he_capable: HE Capability * @cac_duration_ms: cac duration in milliseconds @@ -424,71 +404,41 @@ typedef struct sLimMlmSetKeysReq { struct bss_params { tSirMacAddr bssId; tSirMacAddr self_mac_addr; - enum bss_type bssType; - uint8_t operMode; tSirNwType nwType; uint8_t shortSlotTimeSupported; - uint8_t llaCoexist; uint8_t llbCoexist; - uint8_t llgCoexist; - uint8_t ht20Coexist; - uint8_t llnNonGFCoexist; - uint8_t fLsigTXOPProtectionFullSupport; - uint8_t fRIFSMode; tSirMacBeaconInterval beaconInterval; uint8_t dtimPeriod; - tSirMacCfParamSet cfParamSet; - tSirMacRateSet rateSet; uint8_t htCapable; - uint8_t obssProtEnabled; uint8_t rmfEnabled; - tSirMacHTOperatingMode htOperMode; - uint8_t dualCTSProtection; - uint8_t txChannelWidthSet; uint32_t op_chan_freq; tAddStaParams staContext; - QDF_STATUS status; - uint16_t bss_idx; + uint8_t vdev_id; /* HAL should update the existing BSS entry, if this flag is set. * PE will set this flag in case of reassoc, where we want to resue the * the old bssID and still return success. */ uint8_t updateBss; tSirMacSSid ssId; - uint8_t respReqd; - uint8_t sessionId; int8_t maxTxPower; uint8_t extSetStaKeyParamValid; tSetStaKeyParams extSetStaKeyParam; uint8_t bHiddenSSIDEn; - uint8_t bProxyProbeRespEn; uint8_t halPersona; uint8_t bSpectrumMgtEnabled; uint8_t vhtCapable; enum phy_ch_width ch_width; uint32_t chan_freq_seg0; uint32_t chan_freq_seg1; - uint8_t reassocReq; /* Set only during roaming reassociation */ - uint16_t chainMask; - uint16_t smpsMode; uint8_t dot11_mode; uint8_t nonRoamReassoc; uint8_t wps_state; uint8_t nss; - uint8_t nss_2g; - uint8_t nss_5g; uint16_t beacon_tx_rate; - uint32_t tx_aggregation_size; - uint32_t tx_aggregation_size_be; - uint32_t tx_aggregation_size_bk; - uint32_t tx_aggregation_size_vi; - uint32_t tx_aggregation_size_vo; - uint32_t rx_aggregation_size; #ifdef WLAN_FEATURE_11AX bool he_capable; - tDot11fIEhe_cap he_config; tDot11fIEhe_op he_op; uint32_t he_sta_obsspd; #endif diff --git a/core/wma/src/wma_dev_if.c b/core/wma/src/wma_dev_if.c index 4b986c5fa987..298740b0e43d 100644 --- a/core/wma/src/wma_dev_if.c +++ b/core/wma/src/wma_dev_if.c @@ -216,7 +216,6 @@ static void wma_add_bss_ibss_mode(tp_wma_handle wma, struct bss_params *add_bss) /* start ibss vdev */ - add_bss->operMode = BSS_OPERATIONAL_MODE_IBSS; add_bss->staContext.staIdx = cdp_peer_get_local_peer_id(soc, peer); /* @@ -249,7 +248,6 @@ static void wma_add_bss_ibss_mode(tp_wma_handle wma, struct bss_params *add_bss) req.dtim_period = add_bss->dtimPeriod; req.hidden_ssid = add_bss->bHiddenSSIDEn; req.is_dfs = add_bss->bSpectrumMgtEnabled; - req.oper_mode = BSS_OPERATIONAL_MODE_IBSS; req.ssid.length = add_bss->ssId.length; if (req.ssid.length > 0) qdf_mem_copy(req.ssid.ssId, add_bss->ssId.ssId, @@ -284,7 +282,7 @@ peer_cleanup: if (peer) wma_remove_peer(wma, add_bss->bssId, vdev_id, peer, false); send_fail_resp: - wma_send_add_bss_resp(wma, add_bss->bss_idx, QDF_STATUS_E_FAILURE); + wma_send_add_bss_resp(wma, add_bss->vdev_id, QDF_STATUS_E_FAILURE); } /** @@ -3657,7 +3655,6 @@ static void wma_add_bss_ap_mode(tp_wma_handle wma, struct bss_params *add_bss) req.beacon_tx_rate = add_bss->beacon_tx_rate; req.hidden_ssid = add_bss->bHiddenSSIDEn; req.is_dfs = add_bss->bSpectrumMgtEnabled; - req.oper_mode = BSS_OPERATIONAL_MODE_AP; req.ssid.length = add_bss->ssId.length; req.cac_duration_ms = add_bss->cac_duration_ms; req.dfs_regdomain = add_bss->dfs_regdomain; @@ -3688,7 +3685,7 @@ static void wma_add_bss_ap_mode(tp_wma_handle wma, struct bss_params *add_bss) peer_cleanup: wma_remove_peer(wma, add_bss->bssId, vdev_id, peer, false); send_fail_resp: - wma_send_add_bss_resp(wma, add_bss->bss_idx, QDF_STATUS_E_FAILURE); + wma_send_add_bss_resp(wma, add_bss->vdev_id, QDF_STATUS_E_FAILURE); } static QDF_STATUS wma_update_iface_params(tp_wma_handle wma, @@ -3758,14 +3755,13 @@ QDF_STATUS wma_save_bss_params(tp_wma_handle wma, struct bss_params *add_bss) status = QDF_STATUS_E_FAILURE; else status = QDF_STATUS_SUCCESS; - add_bss->bss_idx = add_bss->staContext.smesessionId; + add_bss->vdev_id = add_bss->staContext.smesessionId; qdf_mem_copy(add_bss->staContext.staMac, add_bss->bssId, sizeof(add_bss->staContext.staMac)); - WMA_LOGD("%s: opermode %d update_bss %d nw_type %d bssid %pM staIdx %d status %d", - __func__, add_bss->operMode, - add_bss->updateBss, add_bss->nwType, add_bss->bssId, - add_bss->staContext.staIdx, add_bss->status); + WMA_LOGD("%s: update_bss %d nw_type %d bssid %pM staIdx %d status %d", + __func__, add_bss->updateBss, add_bss->nwType, add_bss->bssId, + add_bss->staContext.staIdx, status); return status; } @@ -3897,7 +3893,6 @@ QDF_STATUS wma_add_bss_lfr2_vdev_start(struct bss_params *add_bss) req.hidden_ssid = add_bss->bHiddenSSIDEn; req.is_dfs = add_bss->bSpectrumMgtEnabled; req.ssid.length = add_bss->ssId.length; - req.oper_mode = BSS_OPERATIONAL_MODE_STA; if (req.ssid.length > 0) qdf_mem_copy(req.ssid.ssId, add_bss->ssId.ssId, add_bss->ssId.length); @@ -3958,16 +3953,14 @@ QDF_STATUS wma_send_peer_assoc_req(struct bss_params *add_bss) pdev = cds_get_context(QDF_MODULE_ID_TXRX); if (!pdev) { WMA_LOGE("%s Failed to get pdev", __func__); - add_bss->status = QDF_STATUS_E_FAILURE; goto send_resp; } iface = &wma->interfaces[vdev_id]; status = wma_update_iface_params(wma, add_bss); - if (QDF_IS_STATUS_ERROR(status)) { - add_bss->status = QDF_STATUS_E_FAILURE; + if (QDF_IS_STATUS_ERROR(status)) goto send_resp; - } + peer = wma_cdp_find_peer_by_addr(add_bss->bssId, &peer_id); if (add_bss->nonRoamReassoc && peer) { add_bss->staContext.staIdx = peer_id; @@ -3979,7 +3972,6 @@ QDF_STATUS wma_send_peer_assoc_req(struct bss_params *add_bss) if (!peer) { WMA_LOGE("%s: %d Failed to find peer %pM", __func__, __LINE__, add_bss->bssId); - add_bss->status = QDF_STATUS_E_FAILURE; goto send_resp; } @@ -3995,10 +3987,8 @@ QDF_STATUS wma_send_peer_assoc_req(struct bss_params *add_bss) cdp_peer_state_update(soc, pdev, add_bss->bssId, OL_TXRX_PEER_STATE_CONN); status = wma_set_cdp_vdev_pause_reason(wma, vdev_id); - if (QDF_IS_STATUS_ERROR(status)) { - add_bss->status = QDF_STATUS_E_FAILURE; + if (QDF_IS_STATUS_ERROR(status)) goto peer_cleanup; - } } wmi_unified_send_txbf(wma, &add_bss->staContext); @@ -4020,7 +4010,6 @@ QDF_STATUS wma_send_peer_assoc_req(struct bss_params *add_bss) &add_bss->staContext); if (QDF_IS_STATUS_ERROR(status)) { WMA_LOGE("Failed to send peer assoc status:%d", status); - add_bss->status = QDF_STATUS_E_FAILURE; goto peer_cleanup; } peer_assoc_sent = true; @@ -4046,7 +4035,7 @@ QDF_STATUS wma_send_peer_assoc_req(struct bss_params *add_bss) qdf_mem_copy(iface->bssid, add_bss->bssId, QDF_MAC_ADDR_SIZE); send_bss_resp: - add_bss->status = wma_save_bss_params(wma, add_bss); + wma_save_bss_params(wma, add_bss); if (!wmi_service_enabled(wma->wmi_handle, wmi_service_peer_assoc_conf)) { diff --git a/core/wma/src/wma_nan_datapath.c b/core/wma/src/wma_nan_datapath.c index 2030bb5d9957..17a11b5c5e2d 100644 --- a/core/wma/src/wma_nan_datapath.c +++ b/core/wma/src/wma_nan_datapath.c @@ -96,7 +96,6 @@ void wma_add_bss_ndi_mode(tp_wma_handle wma, struct bss_params *add_bss) req.chan_freq_seg1 = add_bss->chan_freq_seg1; req.vht_capable = add_bss->vhtCapable; req.max_txpow = add_bss->maxTxPower; - req.oper_mode = add_bss->operMode; status = wma_vdev_start(wma, &req, false); if (status != QDF_STATUS_SUCCESS) @@ -109,7 +108,7 @@ void wma_add_bss_ndi_mode(tp_wma_handle wma, struct bss_params *add_bss) return; send_fail_resp: - wma_send_add_bss_resp(wma, add_bss->bss_idx, QDF_STATUS_E_FAILURE); + wma_send_add_bss_resp(wma, add_bss->vdev_id, QDF_STATUS_E_FAILURE); } /**