qcacld-3.0: Do not use cdp API to get local id in wma
Remove usage of cdp APIs to fetch local id and cleanup few sta index references in wma and lim. Change-Id: I32633ef7491b3b91ee55dd813a009c4d8010a3f5 CRs-Fixed: 2524506
This commit is contained in:

committed by
nshrivas

parent
3e1694a888
commit
3f26210aed
@@ -302,13 +302,14 @@ QDF_STATUS hdd_cfg80211_get_ibss_peer_info_all(struct hdd_adapter *adapter)
|
|||||||
{
|
{
|
||||||
QDF_STATUS status;
|
QDF_STATUS status;
|
||||||
unsigned long rc;
|
unsigned long rc;
|
||||||
|
struct qdf_mac_addr bcast = QDF_MAC_ADDR_BCAST_INIT;
|
||||||
|
|
||||||
INIT_COMPLETION(adapter->ibss_peer_info_comp);
|
INIT_COMPLETION(adapter->ibss_peer_info_comp);
|
||||||
|
|
||||||
status = sme_request_ibss_peer_info(adapter->hdd_ctx->mac_handle,
|
status = sme_request_ibss_peer_info(adapter->hdd_ctx->mac_handle,
|
||||||
adapter,
|
adapter,
|
||||||
hdd_get_ibss_peer_info_cb,
|
hdd_get_ibss_peer_info_cb,
|
||||||
true, 0xFF);
|
true, bcast.bytes);
|
||||||
|
|
||||||
if (QDF_STATUS_SUCCESS == status) {
|
if (QDF_STATUS_SUCCESS == status) {
|
||||||
rc = wait_for_completion_timeout
|
rc = wait_for_completion_timeout
|
||||||
|
@@ -3321,12 +3321,13 @@ static QDF_STATUS hdd_wlan_get_ibss_peer_info_all(struct hdd_adapter *adapter)
|
|||||||
mac_handle_t mac_handle = adapter->hdd_ctx->mac_handle;
|
mac_handle_t mac_handle = adapter->hdd_ctx->mac_handle;
|
||||||
struct hdd_station_ctx *sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(adapter);
|
struct hdd_station_ctx *sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(adapter);
|
||||||
tSirPeerInfoRspParams *peer_info = &sta_ctx->ibss_peer_info;
|
tSirPeerInfoRspParams *peer_info = &sta_ctx->ibss_peer_info;
|
||||||
|
struct qdf_mac_addr bcast = QDF_MAC_ADDR_BCAST_INIT;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
INIT_COMPLETION(adapter->ibss_peer_info_comp);
|
INIT_COMPLETION(adapter->ibss_peer_info_comp);
|
||||||
status = sme_request_ibss_peer_info(mac_handle, adapter,
|
status = sme_request_ibss_peer_info(mac_handle, adapter,
|
||||||
hdd_get_ibss_peer_info_cb,
|
hdd_get_ibss_peer_info_cb,
|
||||||
true, 0xFF);
|
true, bcast.bytes);
|
||||||
|
|
||||||
if (QDF_STATUS_SUCCESS == status) {
|
if (QDF_STATUS_SUCCESS == status) {
|
||||||
unsigned long rc;
|
unsigned long rc;
|
||||||
|
@@ -2649,7 +2649,7 @@ typedef struct sSirDelPeriodicTxPtrn {
|
|||||||
*--------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
bool allPeerInfoReqd; /* If set, all IBSS peers stats are reported */
|
bool allPeerInfoReqd; /* If set, all IBSS peers stats are reported */
|
||||||
uint8_t staIdx; /* If allPeerInfoReqd is not set, only stats */
|
struct qdf_mac_addr peer_mac;
|
||||||
/* of peer with staIdx is reported */
|
/* of peer with staIdx is reported */
|
||||||
} tSirIbssGetPeerInfoReqParams, *tpSirIbssGetPeerInfoReqParams;
|
} tSirIbssGetPeerInfoReqParams, *tpSirIbssGetPeerInfoReqParams;
|
||||||
|
|
||||||
|
@@ -206,12 +206,6 @@ struct pe_session {
|
|||||||
|
|
||||||
/** BSS Table parameters **/
|
/** BSS Table parameters **/
|
||||||
|
|
||||||
/*
|
|
||||||
* staId: Start BSS: this is the Sta Id for the BSS.
|
|
||||||
* Join: this is the selfStaId
|
|
||||||
* In both cases above, the peer STA ID wll be stored in dph hash table.
|
|
||||||
*/
|
|
||||||
uint16_t staId;
|
|
||||||
uint16_t statypeForBss; /* to know session is for PEER or SELF */
|
uint16_t statypeForBss; /* to know session is for PEER or SELF */
|
||||||
uint8_t shortSlotTimeSupported;
|
uint8_t shortSlotTimeSupported;
|
||||||
uint8_t dtimPeriod;
|
uint8_t dtimPeriod;
|
||||||
|
@@ -2342,9 +2342,10 @@ lim_add_sta(struct mac_context *mac_ctx,
|
|||||||
add_sta_params->vhtCapable = session_entry->vhtCapability;
|
add_sta_params->vhtCapable = session_entry->vhtCapability;
|
||||||
}
|
}
|
||||||
|
|
||||||
pe_debug("StaIdx: %d updateSta: %d htcapable: %d vhtCapable: %d",
|
pe_debug("updateSta: %d htcapable: %d vhtCapable: %d sta mac"
|
||||||
add_sta_params->staIdx, add_sta_params->updateSta,
|
QDF_MAC_ADDR_STR, add_sta_params->updateSta,
|
||||||
add_sta_params->htCapable, add_sta_params->vhtCapable);
|
add_sta_params->htCapable, add_sta_params->vhtCapable,
|
||||||
|
QDF_MAC_ADDR_ARRAY(add_sta_params->staMac));
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If HT client is connected to SAP DUT and self cap is NSS = 2 then
|
* If HT client is connected to SAP DUT and self cap is NSS = 2 then
|
||||||
@@ -2714,26 +2715,6 @@ lim_del_sta(struct mac_context *mac,
|
|||||||
0, VDEV_CMD);
|
0, VDEV_CMD);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* */
|
|
||||||
/* DPH contains the STA index only for "peer" STA entries. */
|
|
||||||
/* LIM global contains "self" STA index */
|
|
||||||
/* Thus, */
|
|
||||||
/* if( STA role ) */
|
|
||||||
/* get STA index from LIM global */
|
|
||||||
/* else */
|
|
||||||
/* get STA index from DPH */
|
|
||||||
/* */
|
|
||||||
|
|
||||||
#ifdef FEATURE_WLAN_TDLS
|
|
||||||
if (LIM_IS_STA_ROLE(pe_session) &&
|
|
||||||
(sta->staType != STA_ENTRY_TDLS_PEER))
|
|
||||||
#else
|
|
||||||
if (LIM_IS_STA_ROLE(pe_session))
|
|
||||||
#endif
|
|
||||||
pDelStaParams->staIdx = pe_session->staId;
|
|
||||||
|
|
||||||
else
|
|
||||||
pDelStaParams->staIdx = sta->staIndex;
|
|
||||||
|
|
||||||
pDelStaParams->assocId = sta->assocId;
|
pDelStaParams->assocId = sta->assocId;
|
||||||
sta->valid = 0;
|
sta->valid = 0;
|
||||||
@@ -2841,7 +2822,7 @@ static void lim_set_mbssid_info(struct pe_session *pe_session)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
QDF_STATUS
|
QDF_STATUS
|
||||||
lim_add_sta_self(struct mac_context *mac, uint16_t staIdx, uint8_t updateSta,
|
lim_add_sta_self(struct mac_context *mac, uint8_t updateSta,
|
||||||
struct pe_session *pe_session)
|
struct pe_session *pe_session)
|
||||||
{
|
{
|
||||||
tpAddStaParams pAddStaParams = NULL;
|
tpAddStaParams pAddStaParams = NULL;
|
||||||
@@ -2888,8 +2869,6 @@ lim_add_sta_self(struct mac_context *mac, uint16_t staIdx, uint8_t updateSta,
|
|||||||
|
|
||||||
pAddStaParams->maxTxPower = pe_session->maxTxPower;
|
pAddStaParams->maxTxPower = pe_session->maxTxPower;
|
||||||
|
|
||||||
/* This will indicate HAL to "allocate" a new STA index */
|
|
||||||
pAddStaParams->staIdx = staIdx;
|
|
||||||
pAddStaParams->updateSta = updateSta;
|
pAddStaParams->updateSta = updateSta;
|
||||||
|
|
||||||
lim_set_mbssid_info(pe_session);
|
lim_set_mbssid_info(pe_session);
|
||||||
@@ -2965,8 +2944,8 @@ lim_add_sta_self(struct mac_context *mac, uint16_t staIdx, uint8_t updateSta,
|
|||||||
if (QDF_P2P_CLIENT_MODE == pe_session->opmode)
|
if (QDF_P2P_CLIENT_MODE == pe_session->opmode)
|
||||||
pAddStaParams->p2pCapableSta = 1;
|
pAddStaParams->p2pCapableSta = 1;
|
||||||
|
|
||||||
pe_debug(" StaIdx: %d updateSta = %d htcapable = %d ",
|
pe_debug("updateSta = %d htcapable = %d ",
|
||||||
pAddStaParams->staIdx, pAddStaParams->updateSta,
|
pAddStaParams->updateSta,
|
||||||
pAddStaParams->htCapable);
|
pAddStaParams->htCapable);
|
||||||
|
|
||||||
pe_debug("htLdpcCapable: %d vhtLdpcCapable: %d "
|
pe_debug("htLdpcCapable: %d vhtLdpcCapable: %d "
|
||||||
|
@@ -108,7 +108,7 @@ QDF_STATUS lim_populate_matching_rate_set(struct mac_context *mac_ctx,
|
|||||||
QDF_STATUS lim_add_sta(struct mac_context *, tpDphHashNode, uint8_t, struct pe_session *);
|
QDF_STATUS lim_add_sta(struct mac_context *, tpDphHashNode, uint8_t, struct pe_session *);
|
||||||
QDF_STATUS lim_del_bss(struct mac_context *, tpDphHashNode, uint16_t, struct pe_session *);
|
QDF_STATUS lim_del_bss(struct mac_context *, tpDphHashNode, uint16_t, struct pe_session *);
|
||||||
QDF_STATUS lim_del_sta(struct mac_context *, tpDphHashNode, bool, struct pe_session *);
|
QDF_STATUS lim_del_sta(struct mac_context *, tpDphHashNode, bool, struct pe_session *);
|
||||||
QDF_STATUS lim_add_sta_self(struct mac_context *, uint16_t, uint8_t, struct pe_session *);
|
QDF_STATUS lim_add_sta_self(struct mac_context *, uint8_t, struct pe_session *);
|
||||||
|
|
||||||
#ifdef WLAN_FEATURE_HOST_ROAM
|
#ifdef WLAN_FEATURE_HOST_ROAM
|
||||||
void lim_restore_pre_reassoc_state(struct mac_context *,
|
void lim_restore_pre_reassoc_state(struct mac_context *,
|
||||||
|
@@ -741,7 +741,7 @@ bool lim_process_ft_update_key(struct mac_context *mac, uint32_t *msg_buf)
|
|||||||
|
|
||||||
if (!pe_session->ftPEContext.pAddStaReq) {
|
if (!pe_session->ftPEContext.pAddStaReq) {
|
||||||
pe_err("pAddStaReq is NULL");
|
pe_err("pAddStaReq is NULL");
|
||||||
lim_send_set_sta_key_req(mac, pMlmSetKeysReq, 0, 0,
|
lim_send_set_sta_key_req(mac, pMlmSetKeysReq, 0,
|
||||||
pe_session, false);
|
pe_session, false);
|
||||||
pe_session->ftPEContext.PreAuthKeyInfo.
|
pe_session->ftPEContext.PreAuthKeyInfo.
|
||||||
extSetStaKeyParamValid = false;
|
extSetStaKeyParamValid = false;
|
||||||
@@ -763,8 +763,6 @@ bool lim_process_ft_update_key(struct mac_context *mac, uint32_t *msg_buf)
|
|||||||
pAddBssParams->extSetStaKeyParamValid,
|
pAddBssParams->extSetStaKeyParamValid,
|
||||||
pAddBssParams->extSetStaKeyParam.key[0].keyLength);
|
pAddBssParams->extSetStaKeyParam.key[0].keyLength);
|
||||||
|
|
||||||
pAddBssParams->extSetStaKeyParam.staIdx = 0;
|
|
||||||
|
|
||||||
pe_debug("BSSID: " QDF_MAC_ADDR_STR,
|
pe_debug("BSSID: " QDF_MAC_ADDR_STR,
|
||||||
QDF_MAC_ADDR_ARRAY(pKeyInfo->bssid.bytes));
|
QDF_MAC_ADDR_ARRAY(pKeyInfo->bssid.bytes));
|
||||||
|
|
||||||
@@ -919,7 +917,6 @@ QDF_STATUS lim_process_ft_aggr_qos_req(struct mac_context *mac,
|
|||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
pAggrAddTsParam->staIdx = pe_session->staId;
|
|
||||||
/* Fill in the sessionId specific to PE */
|
/* Fill in the sessionId specific to PE */
|
||||||
pAggrAddTsParam->sessionId = sessionId;
|
pAggrAddTsParam->sessionId = sessionId;
|
||||||
pAggrAddTsParam->tspecIdx = aggrQosReq->aggrInfo.tspecIdx;
|
pAggrAddTsParam->tspecIdx = aggrQosReq->aggrInfo.tspecIdx;
|
||||||
|
@@ -1144,7 +1144,6 @@ lim_ibss_add_sta_rsp(struct mac_context *mac, void *msg, struct pe_session *pe_s
|
|||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
sta->staIndex = pAddStaParams->staIdx;
|
|
||||||
sta->valid = 1;
|
sta->valid = 1;
|
||||||
sta->mlmStaContext.mlmState = eLIM_MLM_LINK_ESTABLISHED_STATE;
|
sta->mlmStaContext.mlmState = eLIM_MLM_LINK_ESTABLISHED_STATE;
|
||||||
|
|
||||||
|
@@ -541,7 +541,7 @@ static void __lim_process_operating_mode_action_frame(struct mac_context *mac_ct
|
|||||||
ch_bw = eHT_CHANNEL_WIDTH_20MHZ;
|
ch_bw = eHT_CHANNEL_WIDTH_20MHZ;
|
||||||
}
|
}
|
||||||
lim_check_vht_op_mode_change(mac_ctx, session, ch_bw,
|
lim_check_vht_op_mode_change(mac_ctx, session, ch_bw,
|
||||||
sta_ptr->staIndex, mac_hdr->sa);
|
mac_hdr->sa);
|
||||||
}
|
}
|
||||||
|
|
||||||
update_nss:
|
update_nss:
|
||||||
@@ -550,7 +550,7 @@ update_nss:
|
|||||||
sta_ptr->vhtSupportedRxNss =
|
sta_ptr->vhtSupportedRxNss =
|
||||||
operating_mode_frm->OperatingMode.rxNSS + 1;
|
operating_mode_frm->OperatingMode.rxNSS + 1;
|
||||||
lim_set_nss_change(mac_ctx, session, sta_ptr->vhtSupportedRxNss,
|
lim_set_nss_change(mac_ctx, session, sta_ptr->vhtSupportedRxNss,
|
||||||
sta_ptr->staIndex, mac_hdr->sa);
|
mac_hdr->sa);
|
||||||
}
|
}
|
||||||
|
|
||||||
end:
|
end:
|
||||||
@@ -648,7 +648,7 @@ static void __lim_process_gid_management_action_frame(struct mac_context *mac_ct
|
|||||||
vht_user_position = &gid_mgmt_frame->VhtUserPositionArray;
|
vht_user_position = &gid_mgmt_frame->VhtUserPositionArray;
|
||||||
usr_position = vht_user_position->userPositionArray[membership] & 0x3;
|
usr_position = vht_user_position->userPositionArray[membership] & 0x3;
|
||||||
lim_check_membership_user_position(mac_ctx, session, membership,
|
lim_check_membership_user_position(mac_ctx, session, membership,
|
||||||
usr_position, sta_ptr->staIndex);
|
usr_position);
|
||||||
out:
|
out:
|
||||||
qdf_mem_free(gid_mgmt_frame);
|
qdf_mem_free(gid_mgmt_frame);
|
||||||
return;
|
return;
|
||||||
|
@@ -458,8 +458,6 @@ void lim_process_sta_mlm_add_bss_rsp_ft(struct mac_context *mac,
|
|||||||
pe_session->limMlmState, pe_session->peSessionId);
|
pe_session->limMlmState, pe_session->peSessionId);
|
||||||
|
|
||||||
/* Success, handle below */
|
/* Success, handle below */
|
||||||
/* STA Index(genr by HAL) for the BSS entry is stored here */
|
|
||||||
sta->staIndex = wma_peer_get_peet_id(pe_session->bssId);
|
|
||||||
|
|
||||||
pAddStaParams = qdf_mem_malloc(sizeof(tAddStaParams));
|
pAddStaParams = qdf_mem_malloc(sizeof(tAddStaParams));
|
||||||
if (!pAddStaParams)
|
if (!pAddStaParams)
|
||||||
@@ -477,11 +475,6 @@ void lim_process_sta_mlm_add_bss_rsp_ft(struct mac_context *mac,
|
|||||||
pAddStaParams->sessionId = pe_session->peSessionId;
|
pAddStaParams->sessionId = pe_session->peSessionId;
|
||||||
pAddStaParams->smesessionId = pe_session->smeSessionId;
|
pAddStaParams->smesessionId = pe_session->smeSessionId;
|
||||||
|
|
||||||
/* This will indicate HAL to "allocate" a new STA index */
|
|
||||||
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
|
|
||||||
if (pe_session->bRoamSynchInProgress != true)
|
|
||||||
#endif
|
|
||||||
pAddStaParams->staIdx = STA_INVALID_IDX;
|
|
||||||
pAddStaParams->updateSta = false;
|
pAddStaParams->updateSta = false;
|
||||||
|
|
||||||
lim_populate_peer_rate_set(mac, &pAddStaParams->supportedRates, NULL,
|
lim_populate_peer_rate_set(mac, &pAddStaParams->supportedRates, NULL,
|
||||||
|
@@ -1573,7 +1573,6 @@ static void
|
|||||||
lim_process_mlm_set_keys_req(struct mac_context *mac_ctx, uint32_t *msg_buf)
|
lim_process_mlm_set_keys_req(struct mac_context *mac_ctx, uint32_t *msg_buf)
|
||||||
{
|
{
|
||||||
uint16_t aid;
|
uint16_t aid;
|
||||||
uint16_t sta_idx = 0;
|
|
||||||
uint32_t default_key_id = 0;
|
uint32_t default_key_id = 0;
|
||||||
struct qdf_mac_addr curr_bssid;
|
struct qdf_mac_addr curr_bssid;
|
||||||
tpDphHashNode sta_ds;
|
tpDphHashNode sta_ds;
|
||||||
@@ -1671,7 +1670,6 @@ lim_process_mlm_set_keys_req(struct mac_context *mac_ctx, uint32_t *msg_buf)
|
|||||||
case eSIR_ED_AES_GMAC_128:
|
case eSIR_ED_AES_GMAC_128:
|
||||||
case eSIR_ED_AES_GMAC_256:
|
case eSIR_ED_AES_GMAC_256:
|
||||||
#endif
|
#endif
|
||||||
sta_idx = session->staId;
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -1701,8 +1699,6 @@ lim_process_mlm_set_keys_req(struct mac_context *mac_ctx, uint32_t *msg_buf)
|
|||||||
mlm_set_keys_cnf.resultCode =
|
mlm_set_keys_cnf.resultCode =
|
||||||
eSIR_SME_INVALID_PARAMETERS;
|
eSIR_SME_INVALID_PARAMETERS;
|
||||||
goto end;
|
goto end;
|
||||||
} else {
|
|
||||||
sta_idx = sta_ds->staIndex;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1727,8 +1723,9 @@ lim_process_mlm_set_keys_req(struct mac_context *mac_ctx, uint32_t *msg_buf)
|
|||||||
} else {
|
} else {
|
||||||
default_key_id = 0;
|
default_key_id = 0;
|
||||||
}
|
}
|
||||||
pe_debug("Trying to set keys for STA Index [%d], using default_key_id [%d]",
|
pe_debug("Trying to set keys using default_key_id [%d] sta mac "
|
||||||
sta_idx, default_key_id);
|
QDF_MAC_ADDR_STR, default_key_id,
|
||||||
|
QDF_MAC_ADDR_ARRAY(mlm_set_keys_req->peer_macaddr.bytes));
|
||||||
|
|
||||||
if (qdf_is_macaddr_broadcast(&mlm_set_keys_req->peer_macaddr)) {
|
if (qdf_is_macaddr_broadcast(&mlm_set_keys_req->peer_macaddr)) {
|
||||||
session->limPrevMlmState = session->limMlmState;
|
session->limPrevMlmState = session->limMlmState;
|
||||||
@@ -1746,7 +1743,7 @@ lim_process_mlm_set_keys_req(struct mac_context *mac_ctx, uint32_t *msg_buf)
|
|||||||
* Package WMA_SET_STAKEY_REQ / WMA_SET_STA_BCASTKEY_REQ message
|
* Package WMA_SET_STAKEY_REQ / WMA_SET_STA_BCASTKEY_REQ message
|
||||||
* parameters
|
* parameters
|
||||||
*/
|
*/
|
||||||
lim_send_set_sta_key_req(mac_ctx, mlm_set_keys_req, sta_idx,
|
lim_send_set_sta_key_req(mac_ctx, mlm_set_keys_req,
|
||||||
(uint8_t) default_key_id, session,
|
(uint8_t) default_key_id, session,
|
||||||
true);
|
true);
|
||||||
return;
|
return;
|
||||||
|
@@ -1411,9 +1411,9 @@ void lim_process_sta_mlm_add_sta_rsp(struct mac_context *mac_ctx,
|
|||||||
if (true == session_entry->fDeauthReceived) {
|
if (true == session_entry->fDeauthReceived) {
|
||||||
pe_err("Received Deauth frame in ADD_STA_RESP state");
|
pe_err("Received Deauth frame in ADD_STA_RESP state");
|
||||||
if (QDF_STATUS_SUCCESS == add_sta_params->status) {
|
if (QDF_STATUS_SUCCESS == add_sta_params->status) {
|
||||||
pe_err("ADD_STA success, send update result code with eSIR_SME_JOIN_DEAUTH_FROM_AP_DURING_ADD_STA staIdx: %d limMlmState: %d",
|
pe_err("ADD_STA success, send update result code with eSIR_SME_JOIN_DEAUTH_FROM_AP_DURING_ADD_STA limMlmState: %d bssid %pM",
|
||||||
add_sta_params->staIdx,
|
session_entry->limMlmState,
|
||||||
session_entry->limMlmState);
|
add_sta_params->staMac);
|
||||||
|
|
||||||
if (session_entry->limSmeState ==
|
if (session_entry->limSmeState ==
|
||||||
eLIM_SME_WT_REASSOC_STATE)
|
eLIM_SME_WT_REASSOC_STATE)
|
||||||
@@ -1428,7 +1428,6 @@ void lim_process_sta_mlm_add_sta_rsp(struct mac_context *mac_ctx,
|
|||||||
eSIR_SME_JOIN_DEAUTH_FROM_AP_DURING_ADD_STA;
|
eSIR_SME_JOIN_DEAUTH_FROM_AP_DURING_ADD_STA;
|
||||||
mlm_assoc_cnf.protStatusCode =
|
mlm_assoc_cnf.protStatusCode =
|
||||||
eSIR_MAC_UNSPEC_FAILURE_STATUS;
|
eSIR_MAC_UNSPEC_FAILURE_STATUS;
|
||||||
session_entry->staId = add_sta_params->staIdx;
|
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1454,7 +1453,7 @@ void lim_process_sta_mlm_add_sta_rsp(struct mac_context *mac_ctx,
|
|||||||
tpLimMlmSetKeysReq pMlmStaKeys =
|
tpLimMlmSetKeysReq pMlmStaKeys =
|
||||||
&ft_ctx->PreAuthKeyInfo.extSetStaKeyParam;
|
&ft_ctx->PreAuthKeyInfo.extSetStaKeyParam;
|
||||||
lim_send_set_sta_key_req(mac_ctx, pMlmStaKeys,
|
lim_send_set_sta_key_req(mac_ctx, pMlmStaKeys,
|
||||||
0, 0, ft_session, false);
|
0, ft_session, false);
|
||||||
ft_ctx->PreAuthKeyInfo.extSetStaKeyParamValid =
|
ft_ctx->PreAuthKeyInfo.extSetStaKeyParamValid =
|
||||||
false;
|
false;
|
||||||
}
|
}
|
||||||
@@ -1477,14 +1476,6 @@ void lim_process_sta_mlm_add_sta_rsp(struct mac_context *mac_ctx,
|
|||||||
MTRACE(mac_trace(mac_ctx, TRACE_CODE_MLM_STATE,
|
MTRACE(mac_trace(mac_ctx, TRACE_CODE_MLM_STATE,
|
||||||
session_entry->peSessionId,
|
session_entry->peSessionId,
|
||||||
session_entry->limMlmState));
|
session_entry->limMlmState));
|
||||||
/*
|
|
||||||
* Storing the self StaIndex(Generated by HAL) in
|
|
||||||
* session context, instead of storing it in DPH Hash
|
|
||||||
* entry for Self STA.
|
|
||||||
* DPH entry for the self STA stores the sta index for
|
|
||||||
* the BSS entry to which the STA is associated
|
|
||||||
*/
|
|
||||||
session_entry->staId = add_sta_params->staIdx;
|
|
||||||
|
|
||||||
#ifdef WLAN_DEBUG
|
#ifdef WLAN_DEBUG
|
||||||
mac_ctx->lim.gLimNumLinkEsts++;
|
mac_ctx->lim.gLimNumLinkEsts++;
|
||||||
@@ -1914,7 +1905,6 @@ void lim_process_ap_mlm_add_sta_rsp(struct mac_context *mac,
|
|||||||
pe_session);
|
pe_session);
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
sta->staIndex = pAddStaParams->staIdx;
|
|
||||||
sta->nss = pAddStaParams->nss;
|
sta->nss = pAddStaParams->nss;
|
||||||
/* if the AssocRsp frame is not acknowledged, then keep alive timer will take care of the state */
|
/* if the AssocRsp frame is not acknowledged, then keep alive timer will take care of the state */
|
||||||
sta->valid = 1;
|
sta->valid = 1;
|
||||||
@@ -2022,7 +2012,6 @@ static void lim_process_ap_mlm_add_bss_rsp(struct mac_context *mac,
|
|||||||
&& (isWepEnabled))
|
&& (isWepEnabled))
|
||||||
mac->mlme_cfg->sap_cfg.assoc_sta_limit =
|
mac->mlme_cfg->sap_cfg.assoc_sta_limit =
|
||||||
MAX_SUPPORTED_PEERS_WEP;
|
MAX_SUPPORTED_PEERS_WEP;
|
||||||
pe_session->staId = wma_peer_get_peet_id(pe_session->bssId);
|
|
||||||
mlmStartCnf.resultCode = eSIR_SME_SUCCESS;
|
mlmStartCnf.resultCode = eSIR_SME_SUCCESS;
|
||||||
} else {
|
} else {
|
||||||
pe_err("WMA_ADD_BSS_REQ failed with status %d",
|
pe_err("WMA_ADD_BSS_REQ failed with status %d",
|
||||||
@@ -2075,8 +2064,6 @@ lim_process_ibss_mlm_add_bss_rsp(struct mac_context *mac,
|
|||||||
|
|
||||||
/* Apply previously set configuration at HW */
|
/* Apply previously set configuration at HW */
|
||||||
lim_apply_configuration(mac, pe_session);
|
lim_apply_configuration(mac, pe_session);
|
||||||
pe_session->staId =
|
|
||||||
wma_peer_get_peet_id(pe_session->self_mac_addr);
|
|
||||||
mlmStartCnf.resultCode = eSIR_SME_SUCCESS;
|
mlmStartCnf.resultCode = eSIR_SME_SUCCESS;
|
||||||
/* If ADD BSS was issued as part of IBSS coalescing, don't send the message to SME, as that is internal to LIM */
|
/* If ADD BSS was issued as part of IBSS coalescing, don't send the message to SME, as that is internal to LIM */
|
||||||
if (true == mac->lim.gLimIbssCoalescingHappened) {
|
if (true == mac->lim.gLimIbssCoalescingHappened) {
|
||||||
@@ -2154,8 +2141,6 @@ void lim_process_sta_add_bss_rsp_pre_assoc(struct mac_context *mac_ctx,
|
|||||||
goto joinFailure;
|
goto joinFailure;
|
||||||
}
|
}
|
||||||
/* Success, handle below */
|
/* Success, handle below */
|
||||||
/* STA Index(genr by HAL) for the BSS entry is stored here */
|
|
||||||
sta->staIndex = add_bss_params->staContext.staIdx;
|
|
||||||
/* Trigger Authentication with AP */
|
/* Trigger Authentication with AP */
|
||||||
cfgAuthType = mac_ctx->mlme_cfg->wep_params.auth_type;
|
cfgAuthType = mac_ctx->mlme_cfg->wep_params.auth_type;
|
||||||
|
|
||||||
@@ -2182,8 +2167,6 @@ void lim_process_sta_add_bss_rsp_pre_assoc(struct mac_context *mac_ctx,
|
|||||||
pMlmAuthReq->sessionId = session_entry->peSessionId;
|
pMlmAuthReq->sessionId = session_entry->peSessionId;
|
||||||
session_entry->limPrevSmeState = session_entry->limSmeState;
|
session_entry->limPrevSmeState = session_entry->limSmeState;
|
||||||
session_entry->limSmeState = eLIM_SME_WT_AUTH_STATE;
|
session_entry->limSmeState = eLIM_SME_WT_AUTH_STATE;
|
||||||
/* remember staId in case of assoc timeout/failure handling */
|
|
||||||
session_entry->staId = add_bss_params->staContext.staIdx;
|
|
||||||
|
|
||||||
MTRACE(mac_trace(mac_ctx, TRACE_CODE_SME_STATE,
|
MTRACE(mac_trace(mac_ctx, TRACE_CODE_SME_STATE,
|
||||||
session_entry->peSessionId,
|
session_entry->peSessionId,
|
||||||
@@ -2218,7 +2201,6 @@ static void lim_process_sta_mlm_add_bss_rsp(struct mac_context *mac_ctx,
|
|||||||
uint32_t msg_type = LIM_MLM_ASSOC_CNF;
|
uint32_t msg_type = LIM_MLM_ASSOC_CNF;
|
||||||
uint32_t sub_type = LIM_ASSOC;
|
uint32_t sub_type = LIM_ASSOC;
|
||||||
tpDphHashNode sta_ds = NULL;
|
tpDphHashNode sta_ds = NULL;
|
||||||
uint16_t sta_idx = STA_INVALID_IDX;
|
|
||||||
uint8_t update_sta = false;
|
uint8_t update_sta = false;
|
||||||
|
|
||||||
mlm_assoc_cnf.resultCode = eSIR_SME_SUCCESS;
|
mlm_assoc_cnf.resultCode = eSIR_SME_SUCCESS;
|
||||||
@@ -2238,7 +2220,6 @@ static void lim_process_sta_mlm_add_bss_rsp(struct mac_context *mac_ctx,
|
|||||||
*/
|
*/
|
||||||
if (sir_compare_mac_addr(session_entry->bssId,
|
if (sir_compare_mac_addr(session_entry->bssId,
|
||||||
session_entry->limReAssocbssId)) {
|
session_entry->limReAssocbssId)) {
|
||||||
sta_idx = session_entry->staId;
|
|
||||||
update_sta = true;
|
update_sta = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2274,19 +2255,13 @@ static void lim_process_sta_mlm_add_bss_rsp(struct mac_context *mac_ctx,
|
|||||||
(tSirResultCodes) eSIR_SME_REFUSED;
|
(tSirResultCodes) eSIR_SME_REFUSED;
|
||||||
} else {
|
} else {
|
||||||
/* Success, handle below */
|
/* Success, handle below */
|
||||||
/*
|
|
||||||
* STA Index(genr by HAL) for the BSS
|
|
||||||
* entry is stored here
|
|
||||||
*/
|
|
||||||
sta_ds->staIndex =
|
|
||||||
wma_peer_get_peet_id(session_entry->bssId);
|
|
||||||
/* Downgrade the EDCA parameters if needed */
|
/* Downgrade the EDCA parameters if needed */
|
||||||
lim_set_active_edca_params(mac_ctx,
|
lim_set_active_edca_params(mac_ctx,
|
||||||
session_entry->gLimEdcaParams, session_entry);
|
session_entry->gLimEdcaParams, session_entry);
|
||||||
lim_send_edca_params(mac_ctx,
|
lim_send_edca_params(mac_ctx,
|
||||||
session_entry->gLimEdcaParamsActive,
|
session_entry->gLimEdcaParamsActive,
|
||||||
session_entry->vdev_id, false);
|
session_entry->vdev_id, false);
|
||||||
if (lim_add_sta_self(mac_ctx, sta_idx, update_sta,
|
if (lim_add_sta_self(mac_ctx, update_sta,
|
||||||
session_entry) != QDF_STATUS_SUCCESS) {
|
session_entry) != QDF_STATUS_SUCCESS) {
|
||||||
/* Add STA context at HW */
|
/* Add STA context at HW */
|
||||||
pe_err("Session:%d could not Add Self"
|
pe_err("Session:%d could not Add Self"
|
||||||
|
@@ -3918,7 +3918,6 @@ static void __lim_process_sme_set_ht2040_mode(struct mac_context *mac,
|
|||||||
(pe_session->htSecondaryChannelOffset ==
|
(pe_session->htSecondaryChannelOffset ==
|
||||||
PHY_SINGLE_CHANNEL_CENTERED) ?
|
PHY_SINGLE_CHANNEL_CENTERED) ?
|
||||||
eHT_CHANNEL_WIDTH_20MHZ : eHT_CHANNEL_WIDTH_40MHZ;
|
eHT_CHANNEL_WIDTH_20MHZ : eHT_CHANNEL_WIDTH_40MHZ;
|
||||||
pHtOpMode->staId = staId;
|
|
||||||
qdf_mem_copy(pHtOpMode->peer_mac, &sta->staAddr,
|
qdf_mem_copy(pHtOpMode->peer_mac, &sta->staAddr,
|
||||||
sizeof(tSirMacAddr));
|
sizeof(tSirMacAddr));
|
||||||
pHtOpMode->smesessionId = sessionId;
|
pHtOpMode->smesessionId = sessionId;
|
||||||
@@ -3935,11 +3934,11 @@ static void __lim_process_sme_set_ht2040_mode(struct mac_context *mac,
|
|||||||
qdf_mem_free(pHtOpMode);
|
qdf_mem_free(pHtOpMode);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
pe_debug("Notified FW about OP mode: %d for staId=%d",
|
pe_debug("Notified FW about OP mode: %d",
|
||||||
pHtOpMode->opMode, staId);
|
pHtOpMode->opMode);
|
||||||
|
|
||||||
} else
|
} else
|
||||||
pe_debug("station %d does not support HT40", staId);
|
pe_debug("station does not support HT40");
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
@@ -2722,8 +2722,7 @@ QDF_STATUS lim_process_tdls_add_sta_rsp(struct mac_context *mac, void *msg,
|
|||||||
uint16_t aid = 0;
|
uint16_t aid = 0;
|
||||||
|
|
||||||
SET_LIM_PROCESS_DEFD_MESGS(mac, true);
|
SET_LIM_PROCESS_DEFD_MESGS(mac, true);
|
||||||
pe_debug("staIdx: %d, staMac: "QDF_MAC_ADDR_STR,
|
pe_debug("staMac: "QDF_MAC_ADDR_STR,
|
||||||
pAddStaParams->staIdx,
|
|
||||||
QDF_MAC_ADDR_ARRAY(pAddStaParams->staMac));
|
QDF_MAC_ADDR_ARRAY(pAddStaParams->staMac));
|
||||||
|
|
||||||
if (pAddStaParams->status != QDF_STATUS_SUCCESS) {
|
if (pAddStaParams->status != QDF_STATUS_SUCCESS) {
|
||||||
@@ -2741,7 +2740,6 @@ QDF_STATUS lim_process_tdls_add_sta_rsp(struct mac_context *mac, void *msg,
|
|||||||
goto add_sta_error;
|
goto add_sta_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
sta->staIndex = pAddStaParams->staIdx;
|
|
||||||
sta->mlmStaContext.mlmState = eLIM_MLM_LINK_ESTABLISHED_STATE;
|
sta->mlmStaContext.mlmState = eLIM_MLM_LINK_ESTABLISHED_STATE;
|
||||||
sta->valid = 1;
|
sta->valid = 1;
|
||||||
add_sta_error:
|
add_sta_error:
|
||||||
|
@@ -873,7 +873,6 @@ end:
|
|||||||
*/
|
*/
|
||||||
void lim_send_set_sta_key_req(struct mac_context *mac,
|
void lim_send_set_sta_key_req(struct mac_context *mac,
|
||||||
tLimMlmSetKeysReq *pMlmSetKeysReq,
|
tLimMlmSetKeysReq *pMlmSetKeysReq,
|
||||||
uint16_t staIdx,
|
|
||||||
uint8_t defWEPIdx,
|
uint8_t defWEPIdx,
|
||||||
struct pe_session *pe_session, bool sendRsp)
|
struct pe_session *pe_session, bool sendRsp)
|
||||||
{
|
{
|
||||||
@@ -888,7 +887,6 @@ void lim_send_set_sta_key_req(struct mac_context *mac,
|
|||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
/* Update the WMA_SET_STAKEY_REQ parameters */
|
/* Update the WMA_SET_STAKEY_REQ parameters */
|
||||||
pSetStaKeyParams->staIdx = staIdx;
|
|
||||||
pSetStaKeyParams->encType = pMlmSetKeysReq->edType;
|
pSetStaKeyParams->encType = pMlmSetKeysReq->edType;
|
||||||
|
|
||||||
pSetStaKeyParams->singleTidRc =
|
pSetStaKeyParams->singleTidRc =
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (c) 2011-2015, 2017-2018 The Linux Foundation. All rights reserved.
|
* Copyright (c) 2011-2015, 2017-2019 The Linux Foundation. All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission to use, copy, modify, and/or distribute this software for
|
* Permission to use, copy, modify, and/or distribute this software for
|
||||||
* any purpose with or without fee is hereby granted, provided that the
|
* any purpose with or without fee is hereby granted, provided that the
|
||||||
@@ -71,8 +71,8 @@ uint8_t lim_decrypt_auth_frame(struct mac_context *, uint8_t *, uint8_t *, uint8
|
|||||||
uint32_t, uint16_t);
|
uint32_t, uint16_t);
|
||||||
|
|
||||||
void lim_send_set_bss_key_req(struct mac_context *, tLimMlmSetKeysReq *, struct pe_session *);
|
void lim_send_set_bss_key_req(struct mac_context *, tLimMlmSetKeysReq *, struct pe_session *);
|
||||||
void lim_send_set_sta_key_req(struct mac_context *, tLimMlmSetKeysReq *, uint16_t, uint8_t,
|
void lim_send_set_sta_key_req(struct mac_context *, tLimMlmSetKeysReq *,
|
||||||
struct pe_session *, bool sendRsp);
|
uint8_t, struct pe_session *, bool sendRsp);
|
||||||
void lim_post_sme_set_keys_cnf(struct mac_context *, tLimMlmSetKeysReq *,
|
void lim_post_sme_set_keys_cnf(struct mac_context *, tLimMlmSetKeysReq *,
|
||||||
tLimMlmSetKeysCnf *);
|
tLimMlmSetKeysCnf *);
|
||||||
|
|
||||||
|
@@ -291,8 +291,8 @@ QDF_STATUS lim_send_mode_update(struct mac_context *mac,
|
|||||||
msgQ.reserved = 0;
|
msgQ.reserved = 0;
|
||||||
msgQ.bodyptr = pVhtOpMode;
|
msgQ.bodyptr = pVhtOpMode;
|
||||||
msgQ.bodyval = 0;
|
msgQ.bodyval = 0;
|
||||||
pe_debug("Sending WMA_UPDATE_OP_MODE, op_mode %d, sta_id %d",
|
pe_debug("Sending WMA_UPDATE_OP_MODE, op_mode %d",
|
||||||
pVhtOpMode->opMode, pVhtOpMode->staId);
|
pVhtOpMode->opMode);
|
||||||
if (!pe_session)
|
if (!pe_session)
|
||||||
MTRACE(mac_trace_msg_tx(mac, NO_SESSION, msgQ.type));
|
MTRACE(mac_trace_msg_tx(mac, NO_SESSION, msgQ.type));
|
||||||
else
|
else
|
||||||
@@ -481,8 +481,8 @@ QDF_STATUS lim_send_ht40_obss_scanind(struct mac_context *mac_ctx,
|
|||||||
if (!ht40_obss_scanind)
|
if (!ht40_obss_scanind)
|
||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
QDF_TRACE(QDF_MODULE_ID_PE, QDF_TRACE_LEVEL_ERROR,
|
QDF_TRACE(QDF_MODULE_ID_PE, QDF_TRACE_LEVEL_ERROR,
|
||||||
"OBSS Scan Indication bss_idx- %d staId %d",
|
"OBSS Scan Indication bss_idx- %d bssid " QDF_MAC_ADDR_STR,
|
||||||
session->vdev_id, session->staId);
|
session->bss_idx, QDF_MAC_ADDR_ARRAY(session->bssId));
|
||||||
|
|
||||||
ht40_obss_scanind->cmd = HT40_OBSS_SCAN_PARAM_START;
|
ht40_obss_scanind->cmd = HT40_OBSS_SCAN_PARAM_START;
|
||||||
ht40_obss_scanind->scan_type = eSIR_ACTIVE_SCAN;
|
ht40_obss_scanind->scan_type = eSIR_ACTIVE_SCAN;
|
||||||
@@ -526,7 +526,6 @@ QDF_STATUS lim_send_ht40_obss_scanind(struct mac_context *mac_ctx,
|
|||||||
}
|
}
|
||||||
ht40_obss_scanind->channel_count = channel24gnum;
|
ht40_obss_scanind->channel_count = channel24gnum;
|
||||||
/* FW API requests BSS IDX */
|
/* FW API requests BSS IDX */
|
||||||
ht40_obss_scanind->self_sta_idx = session->staId;
|
|
||||||
ht40_obss_scanind->bss_id = session->vdev_id;
|
ht40_obss_scanind->bss_id = session->vdev_id;
|
||||||
ht40_obss_scanind->fortymhz_intolerent = 0;
|
ht40_obss_scanind->fortymhz_intolerent = 0;
|
||||||
ht40_obss_scanind->iefield_len = 0;
|
ht40_obss_scanind->iefield_len = 0;
|
||||||
|
@@ -598,8 +598,6 @@ void lim_send_sme_start_bss_rsp(struct mac_context *mac,
|
|||||||
pSirSmeRsp->length = size;
|
pSirSmeRsp->length = size;
|
||||||
pSirSmeRsp->sessionId = smesessionId;
|
pSirSmeRsp->sessionId = smesessionId;
|
||||||
pSirSmeRsp->status_code = resultCode;
|
pSirSmeRsp->status_code = resultCode;
|
||||||
if (pe_session)
|
|
||||||
pSirSmeRsp->staId = pe_session->staId; /* else it will be always zero smeRsp StaID = 0 */
|
|
||||||
|
|
||||||
mmhMsg.type = msgType;
|
mmhMsg.type = msgType;
|
||||||
mmhMsg.bodyptr = pSirSmeRsp;
|
mmhMsg.bodyptr = pSirSmeRsp;
|
||||||
|
@@ -5154,14 +5154,13 @@ void lim_pmf_sa_query_timer_handler(void *pMacGlobal, uint32_t param)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool lim_check_vht_op_mode_change(struct mac_context *mac, struct pe_session *pe_session,
|
bool lim_check_vht_op_mode_change(struct mac_context *mac,
|
||||||
uint8_t chanWidth, uint8_t staId,
|
struct pe_session *pe_session,
|
||||||
uint8_t *peerMac)
|
uint8_t chanWidth, uint8_t *peerMac)
|
||||||
{
|
{
|
||||||
tUpdateVHTOpMode tempParam;
|
tUpdateVHTOpMode tempParam;
|
||||||
|
|
||||||
tempParam.opMode = chanWidth;
|
tempParam.opMode = chanWidth;
|
||||||
tempParam.staId = staId;
|
|
||||||
tempParam.smesessionId = pe_session->smeSessionId;
|
tempParam.smesessionId = pe_session->smeSessionId;
|
||||||
qdf_mem_copy(tempParam.peer_mac, peerMac, sizeof(tSirMacAddr));
|
qdf_mem_copy(tempParam.peer_mac, peerMac, sizeof(tSirMacAddr));
|
||||||
|
|
||||||
@@ -5186,7 +5185,7 @@ bool lim_send_he_ie_update(struct mac_context *mac_ctx, struct pe_session *pe_se
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
bool lim_set_nss_change(struct mac_context *mac, struct pe_session *pe_session,
|
bool lim_set_nss_change(struct mac_context *mac, struct pe_session *pe_session,
|
||||||
uint8_t rxNss, uint8_t staId, uint8_t *peerMac)
|
uint8_t rxNss, uint8_t *peerMac)
|
||||||
{
|
{
|
||||||
tUpdateRxNss tempParam;
|
tUpdateRxNss tempParam;
|
||||||
|
|
||||||
@@ -5196,7 +5195,6 @@ bool lim_set_nss_change(struct mac_context *mac, struct pe_session *pe_session,
|
|||||||
}
|
}
|
||||||
|
|
||||||
tempParam.rxNss = rxNss;
|
tempParam.rxNss = rxNss;
|
||||||
tempParam.staId = staId;
|
|
||||||
tempParam.smesessionId = pe_session->smeSessionId;
|
tempParam.smesessionId = pe_session->smeSessionId;
|
||||||
qdf_mem_copy(tempParam.peer_mac, peerMac, sizeof(tSirMacAddr));
|
qdf_mem_copy(tempParam.peer_mac, peerMac, sizeof(tSirMacAddr));
|
||||||
|
|
||||||
@@ -5207,14 +5205,13 @@ bool lim_set_nss_change(struct mac_context *mac, struct pe_session *pe_session,
|
|||||||
|
|
||||||
bool lim_check_membership_user_position(struct mac_context *mac,
|
bool lim_check_membership_user_position(struct mac_context *mac,
|
||||||
struct pe_session *pe_session,
|
struct pe_session *pe_session,
|
||||||
uint32_t membership, uint32_t userPosition,
|
uint32_t membership,
|
||||||
uint8_t staId)
|
uint32_t userPosition)
|
||||||
{
|
{
|
||||||
tUpdateMembership tempParamMembership;
|
tUpdateMembership tempParamMembership;
|
||||||
tUpdateUserPos tempParamUserPosition;
|
tUpdateUserPos tempParamUserPosition;
|
||||||
|
|
||||||
tempParamMembership.membership = membership;
|
tempParamMembership.membership = membership;
|
||||||
tempParamMembership.staId = staId;
|
|
||||||
tempParamMembership.smesessionId = pe_session->smeSessionId;
|
tempParamMembership.smesessionId = pe_session->smeSessionId;
|
||||||
qdf_mem_copy(tempParamMembership.peer_mac, pe_session->bssId,
|
qdf_mem_copy(tempParamMembership.peer_mac, pe_session->bssId,
|
||||||
sizeof(tSirMacAddr));
|
sizeof(tSirMacAddr));
|
||||||
@@ -5222,7 +5219,6 @@ bool lim_check_membership_user_position(struct mac_context *mac,
|
|||||||
lim_set_membership(mac, &tempParamMembership, pe_session);
|
lim_set_membership(mac, &tempParamMembership, pe_session);
|
||||||
|
|
||||||
tempParamUserPosition.userPos = userPosition;
|
tempParamUserPosition.userPos = userPosition;
|
||||||
tempParamUserPosition.staId = staId;
|
|
||||||
tempParamUserPosition.smesessionId = pe_session->smeSessionId;
|
tempParamUserPosition.smesessionId = pe_session->smeSessionId;
|
||||||
qdf_mem_copy(tempParamUserPosition.peer_mac, pe_session->bssId,
|
qdf_mem_copy(tempParamUserPosition.peer_mac, pe_session->bssId,
|
||||||
sizeof(tSirMacAddr));
|
sizeof(tSirMacAddr));
|
||||||
|
@@ -595,17 +595,16 @@ uint32_t lim_get_max_rate_flags(struct mac_context *mac_ctx,
|
|||||||
|
|
||||||
bool lim_check_vht_op_mode_change(struct mac_context *mac,
|
bool lim_check_vht_op_mode_change(struct mac_context *mac,
|
||||||
struct pe_session *pe_session,
|
struct pe_session *pe_session,
|
||||||
uint8_t chanWidth, uint8_t staId,
|
uint8_t chanWidth,
|
||||||
uint8_t *peerMac);
|
uint8_t *peerMac);
|
||||||
#ifdef WLAN_FEATURE_11AX_BSS_COLOR
|
#ifdef WLAN_FEATURE_11AX_BSS_COLOR
|
||||||
bool lim_send_he_ie_update(struct mac_context *mac_ctx, struct pe_session *pe_session);
|
bool lim_send_he_ie_update(struct mac_context *mac_ctx, struct pe_session *pe_session);
|
||||||
#endif
|
#endif
|
||||||
bool lim_set_nss_change(struct mac_context *mac, struct pe_session *pe_session,
|
bool lim_set_nss_change(struct mac_context *mac, struct pe_session *pe_session,
|
||||||
uint8_t rxNss, uint8_t staId, uint8_t *peerMac);
|
uint8_t rxNss, uint8_t *peerMac);
|
||||||
bool lim_check_membership_user_position(struct mac_context *mac,
|
bool lim_check_membership_user_position(struct mac_context *mac,
|
||||||
struct pe_session *pe_session,
|
struct pe_session *pe_session,
|
||||||
uint32_t membership, uint32_t userPosition,
|
uint32_t membership, uint32_t userPosition);
|
||||||
uint8_t staId);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* enum ack_status - Indicate TX status of ASSOC/AUTH
|
* enum ack_status - Indicate TX status of ASSOC/AUTH
|
||||||
|
@@ -356,8 +356,6 @@ void lim_process_ndi_mlm_add_bss_rsp(struct mac_context *mac_ctx,
|
|||||||
session_entry->vdev_id = add_bss_rsp->vdev_id;
|
session_entry->vdev_id = add_bss_rsp->vdev_id;
|
||||||
session_entry->limSystemRole = eLIM_NDI_ROLE;
|
session_entry->limSystemRole = eLIM_NDI_ROLE;
|
||||||
session_entry->statypeForBss = STA_ENTRY_SELF;
|
session_entry->statypeForBss = STA_ENTRY_SELF;
|
||||||
session_entry->staId =
|
|
||||||
wma_peer_get_peet_id(session_entry->self_mac_addr);
|
|
||||||
/* Apply previously set configuration at HW */
|
/* Apply previously set configuration at HW */
|
||||||
lim_apply_configuration(mac_ctx, session_entry);
|
lim_apply_configuration(mac_ctx, session_entry);
|
||||||
mlm_start_cnf.resultCode = eSIR_SME_SUCCESS;
|
mlm_start_cnf.resultCode = eSIR_SME_SUCCESS;
|
||||||
@@ -443,7 +441,6 @@ static QDF_STATUS lim_send_sme_ndp_add_sta_rsp(struct mac_context *mac_ctx,
|
|||||||
|
|
||||||
qdf_mem_copy(new_peer_ind->peer_mac_addr.bytes, add_sta_rsp->staMac,
|
qdf_mem_copy(new_peer_ind->peer_mac_addr.bytes, add_sta_rsp->staMac,
|
||||||
sizeof(tSirMacAddr));
|
sizeof(tSirMacAddr));
|
||||||
new_peer_ind->sta_id = add_sta_rsp->staIdx;
|
|
||||||
|
|
||||||
ucfg_nan_datapath_event_handler(psoc, vdev, NDP_NEW_PEER, new_peer_ind);
|
ucfg_nan_datapath_event_handler(psoc, vdev, NDP_NEW_PEER, new_peer_ind);
|
||||||
qdf_mem_free(new_peer_ind);
|
qdf_mem_free(new_peer_ind);
|
||||||
@@ -491,7 +488,6 @@ void lim_ndp_add_sta_rsp(struct mac_context *mac_ctx, struct pe_session *session
|
|||||||
qdf_mem_free(add_sta_rsp);
|
qdf_mem_free(add_sta_rsp);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
sta_ds->staIndex = add_sta_rsp->staIdx;
|
|
||||||
sta_ds->valid = 1;
|
sta_ds->valid = 1;
|
||||||
sta_ds->mlmStaContext.mlmState = eLIM_MLM_LINK_ESTABLISHED_STATE;
|
sta_ds->mlmStaContext.mlmState = eLIM_MLM_LINK_ESTABLISHED_STATE;
|
||||||
lim_send_sme_ndp_add_sta_rsp(mac_ctx, session, add_sta_rsp);
|
lim_send_sme_ndp_add_sta_rsp(mac_ctx, session, add_sta_rsp);
|
||||||
|
@@ -483,7 +483,7 @@ static void update_nss(struct mac_context *mac_ctx, tpDphHashNode sta_ds,
|
|||||||
sta_ds->vhtSupportedRxNss =
|
sta_ds->vhtSupportedRxNss =
|
||||||
beacon->OperatingMode.rxNSS + 1;
|
beacon->OperatingMode.rxNSS + 1;
|
||||||
lim_set_nss_change(mac_ctx, session_entry,
|
lim_set_nss_change(mac_ctx, session_entry,
|
||||||
sta_ds->vhtSupportedRxNss, sta_ds->staIndex,
|
sta_ds->vhtSupportedRxNss,
|
||||||
mgmt_hdr->sa);
|
mgmt_hdr->sa);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -618,7 +618,7 @@ sch_bcn_update_opmode_change(struct mac_context *mac_ctx, tpDphHashNode sta_ds,
|
|||||||
ch_width = eHT_CHANNEL_WIDTH_20MHZ;
|
ch_width = eHT_CHANNEL_WIDTH_20MHZ;
|
||||||
}
|
}
|
||||||
lim_check_vht_op_mode_change(mac_ctx, session,
|
lim_check_vht_op_mode_change(mac_ctx, session,
|
||||||
ch_width, sta_ds->staIndex, mac_hdr->sa);
|
ch_width, mac_hdr->sa);
|
||||||
update_nss(mac_ctx, sta_ds, bcn, session, mac_hdr);
|
update_nss(mac_ctx, sta_ds, bcn, session, mac_hdr);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
@@ -686,7 +686,7 @@ sch_bcn_update_opmode_change(struct mac_context *mac_ctx, tpDphHashNode sta_ds,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
lim_check_vht_op_mode_change(mac_ctx, session, ch_width,
|
lim_check_vht_op_mode_change(mac_ctx, session, ch_width,
|
||||||
sta_ds->staIndex, mac_hdr->sa);
|
mac_hdr->sa);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -728,8 +728,7 @@ sch_bcn_process_sta_ibss(struct mac_context *mac_ctx,
|
|||||||
/* check for VHT capability */
|
/* check for VHT capability */
|
||||||
sta = dph_lookup_hash_entry(mac_ctx, pMh->sa, &aid,
|
sta = dph_lookup_hash_entry(mac_ctx, pMh->sa, &aid,
|
||||||
&session->dph.dphHashTable);
|
&session->dph.dphHashTable);
|
||||||
if ((!sta) || ((sta) &&
|
if ((!sta))
|
||||||
(STA_INVALID_IDX == sta->staIndex)))
|
|
||||||
return;
|
return;
|
||||||
sch_bcn_update_opmode_change(mac_ctx, sta, session, bcn, pMh,
|
sch_bcn_update_opmode_change(mac_ctx, sta, session, bcn, pMh,
|
||||||
cb_mode);
|
cb_mode);
|
||||||
|
@@ -1113,14 +1113,14 @@ QDF_STATUS sme_request_ibss_peer_info(mac_handle_t mac_handle,
|
|||||||
void *cb_context,
|
void *cb_context,
|
||||||
ibss_peer_info_cb peer_info_cb,
|
ibss_peer_info_cb peer_info_cb,
|
||||||
bool allPeerInfoReqd,
|
bool allPeerInfoReqd,
|
||||||
uint8_t staIdx);
|
uint8_t *mac_addr);
|
||||||
#else
|
#else
|
||||||
static inline
|
static inline
|
||||||
QDF_STATUS sme_request_ibss_peer_info(mac_handle_t mac_handle,
|
QDF_STATUS sme_request_ibss_peer_info(mac_handle_t mac_handle,
|
||||||
void *cb_context,
|
void *cb_context,
|
||||||
ibss_peer_info_cb peer_info_cb,
|
ibss_peer_info_cb peer_info_cb,
|
||||||
bool allPeerInfoReqd,
|
bool allPeerInfoReqd,
|
||||||
uint8_t staIdx)
|
uint8_t *mac_addr);
|
||||||
{
|
{
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
@@ -1157,7 +1157,7 @@ int sme_update_ht_config(mac_handle_t mac_handle, uint8_t sessionId,
|
|||||||
int16_t sme_get_ht_config(mac_handle_t mac_handle, uint8_t session_id,
|
int16_t sme_get_ht_config(mac_handle_t mac_handle, uint8_t session_id,
|
||||||
uint16_t ht_capab);
|
uint16_t ht_capab);
|
||||||
#ifdef QCA_HT_2040_COEX
|
#ifdef QCA_HT_2040_COEX
|
||||||
QDF_STATUS sme_notify_ht2040_mode(mac_handle_t mac_handle, uint16_t staId,
|
QDF_STATUS sme_notify_ht2040_mode(mac_handle_t mac_handle,
|
||||||
struct qdf_mac_addr macAddrSTA,
|
struct qdf_mac_addr macAddrSTA,
|
||||||
uint8_t sessionId,
|
uint8_t sessionId,
|
||||||
uint8_t channel_type);
|
uint8_t channel_type);
|
||||||
|
@@ -1831,7 +1831,7 @@ QDF_STATUS sme_ibss_peer_info_response_handler(struct mac_context *mac,
|
|||||||
|
|
||||||
QDF_STATUS sme_request_ibss_peer_info(mac_handle_t mac_handle, void *cb_context,
|
QDF_STATUS sme_request_ibss_peer_info(mac_handle_t mac_handle, void *cb_context,
|
||||||
ibss_peer_info_cb peer_info_cb,
|
ibss_peer_info_cb peer_info_cb,
|
||||||
bool allPeerInfoReqd, uint8_t staIdx)
|
bool allPeerInfoReqd, uint8_t *mac_addr)
|
||||||
{
|
{
|
||||||
QDF_STATUS status = QDF_STATUS_E_FAILURE;
|
QDF_STATUS status = QDF_STATUS_E_FAILURE;
|
||||||
QDF_STATUS qdf_status = QDF_STATUS_E_FAILURE;
|
QDF_STATUS qdf_status = QDF_STATUS_E_FAILURE;
|
||||||
@@ -1853,7 +1853,8 @@ QDF_STATUS sme_request_ibss_peer_info(mac_handle_t mac_handle, void *cb_context,
|
|||||||
return QDF_STATUS_E_NOMEM;
|
return QDF_STATUS_E_NOMEM;
|
||||||
}
|
}
|
||||||
pIbssInfoReqParams->allPeerInfoReqd = allPeerInfoReqd;
|
pIbssInfoReqParams->allPeerInfoReqd = allPeerInfoReqd;
|
||||||
pIbssInfoReqParams->staIdx = staIdx;
|
qdf_mem_copy(pIbssInfoReqParams->peer_mac.bytes, mac_addr,
|
||||||
|
QDF_MAC_ADDR_SIZE);
|
||||||
|
|
||||||
message.type = WMA_GET_IBSS_PEER_INFO_REQ;
|
message.type = WMA_GET_IBSS_PEER_INFO_REQ;
|
||||||
message.bodyptr = pIbssInfoReqParams;
|
message.bodyptr = pIbssInfoReqParams;
|
||||||
@@ -8215,7 +8216,7 @@ QDF_STATUS sme_notify_modem_power_state(mac_handle_t mac_handle, uint32_t value)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef QCA_HT_2040_COEX
|
#ifdef QCA_HT_2040_COEX
|
||||||
QDF_STATUS sme_notify_ht2040_mode(mac_handle_t mac_handle, uint16_t staId,
|
QDF_STATUS sme_notify_ht2040_mode(mac_handle_t mac_handle,
|
||||||
struct qdf_mac_addr macAddrSTA,
|
struct qdf_mac_addr macAddrSTA,
|
||||||
uint8_t sessionId,
|
uint8_t sessionId,
|
||||||
uint8_t channel_type)
|
uint8_t channel_type)
|
||||||
@@ -8248,7 +8249,6 @@ QDF_STATUS sme_notify_ht2040_mode(mac_handle_t mac_handle, uint16_t staId,
|
|||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
pHtOpMode->staId = staId,
|
|
||||||
qdf_mem_copy(pHtOpMode->peer_mac, macAddrSTA.bytes,
|
qdf_mem_copy(pHtOpMode->peer_mac, macAddrSTA.bytes,
|
||||||
sizeof(tSirMacAddr));
|
sizeof(tSirMacAddr));
|
||||||
pHtOpMode->smesessionId = sessionId;
|
pHtOpMode->smesessionId = sessionId;
|
||||||
@@ -8268,8 +8268,8 @@ QDF_STATUS sme_notify_ht2040_mode(mac_handle_t mac_handle, uint16_t staId,
|
|||||||
}
|
}
|
||||||
|
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_DEBUG,
|
||||||
"%s: Notified FW about OP mode: %d for staId=%d",
|
"%s: Notified FW about OP mode: %d",
|
||||||
__func__, pHtOpMode->opMode, staId);
|
__func__, pHtOpMode->opMode);
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
@@ -21804,7 +21804,6 @@ static QDF_STATUS csr_process_roam_sync_callback(struct mac_context *mac_ctx,
|
|||||||
conn_profile->vht_channel_width =
|
conn_profile->vht_channel_width =
|
||||||
roam_synch_data->join_rsp->vht_channel_width;
|
roam_synch_data->join_rsp->vht_channel_width;
|
||||||
add_bss_params = (struct bss_params *)roam_synch_data->add_bss_params;
|
add_bss_params = (struct bss_params *)roam_synch_data->add_bss_params;
|
||||||
session->connectedInfo.staId = add_bss_params->staContext.staIdx;
|
|
||||||
roam_info->staId = session->connectedInfo.staId;
|
roam_info->staId = session->connectedInfo.staId;
|
||||||
roam_info->timingMeasCap =
|
roam_info->timingMeasCap =
|
||||||
roam_synch_data->join_rsp->timingMeasCap;
|
roam_synch_data->join_rsp->timingMeasCap;
|
||||||
|
@@ -206,10 +206,6 @@ typedef struct {
|
|||||||
*/
|
*/
|
||||||
/* The return status of SIR_HAL_ADD_STA_REQ is reported here */
|
/* The return status of SIR_HAL_ADD_STA_REQ is reported here */
|
||||||
QDF_STATUS status;
|
QDF_STATUS status;
|
||||||
/* Station index; valid only when 'status' field value is
|
|
||||||
* QDF_STATUS_SUCCESS
|
|
||||||
*/
|
|
||||||
uint8_t staIdx;
|
|
||||||
uint8_t updateSta;
|
uint8_t updateSta;
|
||||||
uint8_t rmfEnabled;
|
uint8_t rmfEnabled;
|
||||||
uint32_t encryptType;
|
uint32_t encryptType;
|
||||||
@@ -297,7 +293,6 @@ typedef struct {
|
|||||||
* a new key descriptor is created based on the key field.
|
* a new key descriptor is created based on the key field.
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint16_t staIdx;
|
|
||||||
tAniEdType encType;
|
tAniEdType encType;
|
||||||
uint8_t defWEPIdx;
|
uint8_t defWEPIdx;
|
||||||
tSirKeys key[SIR_MAC_MAX_NUM_OF_DEFAULT_KEYS];
|
tSirKeys key[SIR_MAC_MAX_NUM_OF_DEFAULT_KEYS];
|
||||||
@@ -566,7 +561,6 @@ typedef struct {
|
|||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint16_t opMode;
|
uint16_t opMode;
|
||||||
uint16_t staId;
|
|
||||||
uint16_t smesessionId;
|
uint16_t smesessionId;
|
||||||
tSirMacAddr peer_mac;
|
tSirMacAddr peer_mac;
|
||||||
} tUpdateVHTOpMode, *tpUpdateVHTOpMode;
|
} tUpdateVHTOpMode, *tpUpdateVHTOpMode;
|
||||||
@@ -580,7 +574,6 @@ typedef struct {
|
|||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint16_t rxNss;
|
uint16_t rxNss;
|
||||||
uint16_t staId;
|
|
||||||
uint16_t smesessionId;
|
uint16_t smesessionId;
|
||||||
tSirMacAddr peer_mac;
|
tSirMacAddr peer_mac;
|
||||||
} tUpdateRxNss, *tpUpdateRxNss;
|
} tUpdateRxNss, *tpUpdateRxNss;
|
||||||
@@ -594,7 +587,6 @@ typedef struct {
|
|||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint32_t membership;
|
uint32_t membership;
|
||||||
uint16_t staId;
|
|
||||||
uint16_t smesessionId;
|
uint16_t smesessionId;
|
||||||
tSirMacAddr peer_mac;
|
tSirMacAddr peer_mac;
|
||||||
} tUpdateMembership, *tpUpdateMembership;
|
} tUpdateMembership, *tpUpdateMembership;
|
||||||
@@ -608,7 +600,6 @@ typedef struct {
|
|||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
uint32_t userPos;
|
uint32_t userPos;
|
||||||
uint16_t staId;
|
|
||||||
uint16_t smesessionId;
|
uint16_t smesessionId;
|
||||||
tSirMacAddr peer_mac;
|
tSirMacAddr peer_mac;
|
||||||
} tUpdateUserPos, *tpUpdateUserPos;
|
} tUpdateUserPos, *tpUpdateUserPos;
|
||||||
|
@@ -3584,19 +3584,19 @@ static
|
|||||||
QDF_STATUS wma_save_bss_params(tp_wma_handle wma, struct bss_params *add_bss)
|
QDF_STATUS wma_save_bss_params(tp_wma_handle wma, struct bss_params *add_bss)
|
||||||
{
|
{
|
||||||
QDF_STATUS status;
|
QDF_STATUS status;
|
||||||
|
uint8_t sta_id;
|
||||||
|
|
||||||
wma_vdev_set_he_config(wma, add_bss->staContext.smesessionId, add_bss);
|
wma_vdev_set_he_config(wma, add_bss->staContext.smesessionId, add_bss);
|
||||||
if (!wma_cdp_find_peer_by_addr(add_bss->bssId,
|
if (!wma_cdp_find_peer_by_addr(add_bss->bssId, &sta_id))
|
||||||
&add_bss->staContext.staIdx))
|
|
||||||
status = QDF_STATUS_E_FAILURE;
|
status = QDF_STATUS_E_FAILURE;
|
||||||
else
|
else
|
||||||
status = QDF_STATUS_SUCCESS;
|
status = QDF_STATUS_SUCCESS;
|
||||||
qdf_mem_copy(add_bss->staContext.staMac, add_bss->bssId,
|
qdf_mem_copy(add_bss->staContext.staMac, add_bss->bssId,
|
||||||
sizeof(add_bss->staContext.staMac));
|
sizeof(add_bss->staContext.staMac));
|
||||||
|
|
||||||
WMA_LOGD("%s: update_bss %d nw_type %d bssid %pM staIdx %d status %d",
|
WMA_LOGD("%s: update_bss %d nw_type %d bssid %pM status %d",
|
||||||
__func__, add_bss->updateBss, add_bss->nwType, add_bss->bssId,
|
__func__, add_bss->updateBss, add_bss->nwType, add_bss->bssId,
|
||||||
add_bss->staContext.staIdx, status);
|
status);
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
@@ -3637,9 +3637,7 @@ void wma_add_bss_lfr3(tp_wma_handle wma, struct bss_params *add_bss)
|
|||||||
add_bss->bssId);
|
add_bss->bssId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
add_bss->staContext.staIdx = peer_id;
|
WMA_LOGD("LFR3:%s: bssid %pM", __func__, add_bss->bssId);
|
||||||
WMA_LOGD("LFR3:%s: bssid %pM staIdx %d", __func__, add_bss->bssId,
|
|
||||||
add_bss->staContext.staIdx);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -3727,7 +3725,6 @@ QDF_STATUS wma_add_bss_lfr2_vdev_start(struct wlan_objmgr_vdev *vdev,
|
|||||||
wma_err("failed, status: %d", status);
|
wma_err("failed, status: %d", status);
|
||||||
goto peer_cleanup;
|
goto peer_cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
status = wma_set_cdp_vdev_pause_reason(wma, vdev_id);
|
status = wma_set_cdp_vdev_pause_reason(wma, vdev_id);
|
||||||
if (QDF_IS_STATUS_ERROR(status))
|
if (QDF_IS_STATUS_ERROR(status))
|
||||||
goto peer_cleanup;
|
goto peer_cleanup;
|
||||||
@@ -3781,10 +3778,9 @@ QDF_STATUS wma_send_peer_assoc_req(struct bss_params *add_bss)
|
|||||||
goto send_resp;
|
goto send_resp;
|
||||||
|
|
||||||
peer = wma_cdp_find_peer_by_addr(add_bss->bssId, &peer_id);
|
peer = wma_cdp_find_peer_by_addr(add_bss->bssId, &peer_id);
|
||||||
if (add_bss->nonRoamReassoc && peer) {
|
if (add_bss->nonRoamReassoc && peer)
|
||||||
add_bss->staContext.staIdx = peer_id;
|
|
||||||
goto send_resp;
|
goto send_resp;
|
||||||
}
|
|
||||||
if (!add_bss->updateBss)
|
if (!add_bss->updateBss)
|
||||||
goto send_resp;
|
goto send_resp;
|
||||||
|
|
||||||
@@ -4080,7 +4076,6 @@ static void wma_add_sta_req_ap_mode(tp_wma_handle wma, tpAddStaParams add_sta)
|
|||||||
__func__, add_sta->staMac, state);
|
__func__, add_sta->staMac, state);
|
||||||
cdp_peer_state_update(soc, pdev, add_sta->staMac, state);
|
cdp_peer_state_update(soc, pdev, add_sta->staMac, state);
|
||||||
|
|
||||||
add_sta->staIdx = cdp_peer_get_local_peer_id(soc, peer);
|
|
||||||
add_sta->nss = iface->nss;
|
add_sta->nss = iface->nss;
|
||||||
add_sta->status = QDF_STATUS_SUCCESS;
|
add_sta->status = QDF_STATUS_SUCCESS;
|
||||||
send_rsp:
|
send_rsp:
|
||||||
@@ -4090,9 +4085,9 @@ send_rsp:
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
WMA_LOGD(FL("statype %d vdev_id %d aid %d bssid %pM staIdx %d status %d"),
|
WMA_LOGD(FL("statype %d vdev_id %d aid %d bssid %pM status %d"),
|
||||||
add_sta->staType, add_sta->smesessionId,
|
add_sta->staType, add_sta->smesessionId,
|
||||||
add_sta->assocId, add_sta->bssId, add_sta->staIdx,
|
add_sta->assocId, add_sta->bssId,
|
||||||
add_sta->status);
|
add_sta->status);
|
||||||
wma_send_msg_high_priority(wma, WMA_ADD_STA_RSP, (void *)add_sta, 0);
|
wma_send_msg_high_priority(wma, WMA_ADD_STA_RSP, (void *)add_sta, 0);
|
||||||
}
|
}
|
||||||
@@ -4173,7 +4168,6 @@ static void wma_add_tdls_sta(tp_wma_handle wma, tpAddStaParams add_sta)
|
|||||||
goto send_rsp;
|
goto send_rsp;
|
||||||
}
|
}
|
||||||
|
|
||||||
add_sta->staIdx = cdp_peer_get_local_peer_id(soc, peer);
|
|
||||||
WMA_LOGD("%s: addSta, after calling cdp_local_peer_id, staMac: %pM",
|
WMA_LOGD("%s: addSta, after calling cdp_local_peer_id, staMac: %pM",
|
||||||
__func__, add_sta->staMac);
|
__func__, add_sta->staMac);
|
||||||
|
|
||||||
@@ -4316,6 +4310,8 @@ static void wma_add_sta_req_sta_mode(tp_wma_handle wma, tpAddStaParams params)
|
|||||||
bool peer_assoc_cnf = false;
|
bool peer_assoc_cnf = false;
|
||||||
int smps_param;
|
int smps_param;
|
||||||
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
||||||
|
/* Will be removed as a part of cleanup */
|
||||||
|
uint8_t sta_id;
|
||||||
|
|
||||||
#ifdef FEATURE_WLAN_TDLS
|
#ifdef FEATURE_WLAN_TDLS
|
||||||
if (STA_ENTRY_TDLS_PEER == params->staType) {
|
if (STA_ENTRY_TDLS_PEER == params->staType) {
|
||||||
@@ -4337,9 +4333,7 @@ static void wma_add_sta_req_sta_mode(tp_wma_handle wma, tpAddStaParams params)
|
|||||||
__func__, params->staType);
|
__func__, params->staType);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
peer = cdp_peer_find_by_addr(soc,
|
peer = cdp_peer_find_by_addr(soc, pdev, params->bssId, &sta_id);
|
||||||
pdev,
|
|
||||||
params->bssId, ¶ms->staIdx);
|
|
||||||
if (!peer) {
|
if (!peer) {
|
||||||
WMA_LOGE("%s: Peer is not present vdev id %d for %pM", __func__,
|
WMA_LOGE("%s: Peer is not present vdev id %d for %pM", __func__,
|
||||||
params->smesessionId, params->bssId);
|
params->smesessionId, params->bssId);
|
||||||
@@ -4554,9 +4548,9 @@ out:
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
params->status = status;
|
params->status = status;
|
||||||
WMA_LOGD(FL("statype %d vdev_id %d aid %d bssid %pM staIdx %d status %d"),
|
WMA_LOGD(FL("statype %d vdev_id %d aid %d sta mac " QDF_MAC_ADDR_STR
|
||||||
params->staType, params->smesessionId,
|
" status %d"), params->staType, params->smesessionId,
|
||||||
params->assocId, params->bssId, params->staIdx,
|
params->assocId, QDF_MAC_ADDR_ARRAY(params->bssId),
|
||||||
params->status);
|
params->status);
|
||||||
/* Don't send a response during roam sync operation */
|
/* Don't send a response during roam sync operation */
|
||||||
if (!wma_is_roam_synch_in_progress(wma, params->smesessionId))
|
if (!wma_is_roam_synch_in_progress(wma, params->smesessionId))
|
||||||
@@ -4577,9 +4571,10 @@ static void wma_delete_sta_req_ap_mode(tp_wma_handle wma,
|
|||||||
struct cdp_pdev *pdev;
|
struct cdp_pdev *pdev;
|
||||||
void *peer;
|
void *peer;
|
||||||
struct wma_target_req *msg;
|
struct wma_target_req *msg;
|
||||||
uint8_t *peer_mac_addr;
|
|
||||||
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
||||||
QDF_STATUS qdf_status;
|
QDF_STATUS qdf_status;
|
||||||
|
/* Will be removed as a part of cleanup */
|
||||||
|
uint8_t sta_id;
|
||||||
|
|
||||||
pdev = cds_get_context(QDF_MODULE_ID_TXRX);
|
pdev = cds_get_context(QDF_MODULE_ID_TXRX);
|
||||||
|
|
||||||
@@ -4589,17 +4584,16 @@ static void wma_delete_sta_req_ap_mode(tp_wma_handle wma,
|
|||||||
goto send_del_rsp;
|
goto send_del_rsp;
|
||||||
}
|
}
|
||||||
|
|
||||||
peer = cdp_peer_find_by_local_id(soc,
|
peer = cdp_peer_find_by_addr(soc, pdev, del_sta->staMac, &sta_id);
|
||||||
pdev, del_sta->staIdx);
|
|
||||||
if (!peer) {
|
if (!peer) {
|
||||||
WMA_LOGE("%s: Failed to get peer handle using peer id %d",
|
WMA_LOGE("%s: Failed to get peer handle using peer id %d",
|
||||||
__func__, del_sta->staIdx);
|
__func__, del_sta->staIdx);
|
||||||
del_sta->status = QDF_STATUS_E_FAILURE;
|
del_sta->status = QDF_STATUS_E_FAILURE;
|
||||||
goto send_del_rsp;
|
goto send_del_rsp;
|
||||||
}
|
}
|
||||||
peer_mac_addr = cdp_peer_get_peer_mac_addr(soc, peer);
|
|
||||||
|
|
||||||
qdf_status = wma_remove_peer(wma, peer_mac_addr, del_sta->smesessionId,
|
qdf_status = wma_remove_peer(wma, del_sta->staMac,
|
||||||
|
del_sta->smesessionId,
|
||||||
peer, false);
|
peer, false);
|
||||||
if (QDF_IS_STATUS_ERROR(qdf_status)) {
|
if (QDF_IS_STATUS_ERROR(qdf_status)) {
|
||||||
WMA_LOGE(FL("wma_remove_peer failed"));
|
WMA_LOGE(FL("wma_remove_peer failed"));
|
||||||
|
@@ -2986,11 +2986,12 @@ QDF_STATUS wma_process_get_peer_info_req
|
|||||||
uint16_t len;
|
uint16_t len;
|
||||||
wmi_buf_t buf;
|
wmi_buf_t buf;
|
||||||
int32_t vdev_id;
|
int32_t vdev_id;
|
||||||
|
/* Will be removed in cleanup */
|
||||||
|
uint8_t sta_id;
|
||||||
struct cdp_pdev *pdev;
|
struct cdp_pdev *pdev;
|
||||||
void *peer;
|
void *peer;
|
||||||
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
||||||
uint8_t peer_mac[QDF_MAC_ADDR_SIZE];
|
uint8_t peer_mac[QDF_MAC_ADDR_SIZE];
|
||||||
uint8_t *peer_mac_raw;
|
|
||||||
wmi_peer_info_req_cmd_fixed_param *p_get_peer_info_cmd;
|
wmi_peer_info_req_cmd_fixed_param *p_get_peer_info_cmd;
|
||||||
uint8_t bcast_mac[QDF_MAC_ADDR_SIZE] = { 0xff, 0xff, 0xff,
|
uint8_t bcast_mac[QDF_MAC_ADDR_SIZE] = { 0xff, 0xff, 0xff,
|
||||||
0xff, 0xff, 0xff };
|
0xff, 0xff, 0xff };
|
||||||
@@ -3013,30 +3014,23 @@ QDF_STATUS wma_process_get_peer_info_req
|
|||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (0xFF == pReq->staIdx) {
|
if (qdf_is_macaddr_broadcast(&pReq->peer_mac)) {
|
||||||
/*get info for all peers */
|
/*get info for all peers */
|
||||||
qdf_mem_copy(peer_mac, bcast_mac, QDF_MAC_ADDR_SIZE);
|
qdf_mem_copy(peer_mac, bcast_mac, QDF_MAC_ADDR_SIZE);
|
||||||
} else {
|
} else {
|
||||||
/*get info for a single peer */
|
/*get info for a single peer */
|
||||||
peer = cdp_peer_find_by_local_id(soc,
|
peer = cdp_peer_find_by_addr(soc, pdev,
|
||||||
pdev, pReq->staIdx);
|
pReq->peer_mac.bytes, &sta_id);
|
||||||
if (!peer) {
|
if (!peer) {
|
||||||
WMA_LOGE("%s: Failed to get peer handle using peer id %d",
|
WMA_LOGE("%s: Failed to get peer handle using peer "
|
||||||
__func__, pReq->staIdx);
|
QDF_MAC_ADDR_STR, __func__,
|
||||||
return QDF_STATUS_E_FAILURE;
|
QDF_MAC_ADDR_ARRAY(pReq->peer_mac.bytes));
|
||||||
}
|
|
||||||
peer_mac_raw = cdp_peer_get_peer_mac_addr(soc, peer);
|
|
||||||
if (!peer_mac_raw) {
|
|
||||||
WMA_LOGE("peer_mac_raw is NULL");
|
|
||||||
return QDF_STATUS_E_FAILURE;
|
return QDF_STATUS_E_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
WMA_LOGE("%s: staIdx %d peer mac: 0x%2x:0x%2x:0x%2x:0x%2x:0x%2x:0x%2x",
|
WMA_LOGE("%s: peer mac: " QDF_MAC_ADDR_STR, __func__,
|
||||||
__func__, pReq->staIdx, peer_mac_raw[0],
|
QDF_MAC_ADDR_ARRAY(pReq->peer_mac.bytes));
|
||||||
peer_mac_raw[1], peer_mac_raw[2],
|
qdf_mem_copy(peer_mac, pReq->peer_mac.bytes, QDF_MAC_ADDR_SIZE);
|
||||||
peer_mac_raw[3], peer_mac_raw[4],
|
|
||||||
peer_mac_raw[5]);
|
|
||||||
qdf_mem_copy(peer_mac, peer_mac_raw, QDF_MAC_ADDR_SIZE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
len = sizeof(wmi_peer_info_req_cmd_fixed_param);
|
len = sizeof(wmi_peer_info_req_cmd_fixed_param);
|
||||||
|
@@ -124,7 +124,6 @@ void wma_add_sta_ndi_mode(tp_wma_handle wma, tpAddStaParams add_sta)
|
|||||||
WMA_LOGD(FL("Moving peer %pM to state %d"), add_sta->staMac, state);
|
WMA_LOGD(FL("Moving peer %pM to state %d"), add_sta->staMac, state);
|
||||||
cdp_peer_state_update(soc, pdev, add_sta->staMac, state);
|
cdp_peer_state_update(soc, pdev, add_sta->staMac, state);
|
||||||
|
|
||||||
add_sta->staIdx = cdp_peer_get_local_peer_id(soc, peer);
|
|
||||||
add_sta->nss = iface->nss;
|
add_sta->nss = iface->nss;
|
||||||
add_sta->status = QDF_STATUS_SUCCESS;
|
add_sta->status = QDF_STATUS_SUCCESS;
|
||||||
send_rsp:
|
send_rsp:
|
||||||
@@ -148,6 +147,8 @@ void wma_delete_sta_req_ndi_mode(tp_wma_handle wma,
|
|||||||
struct cdp_pdev *pdev;
|
struct cdp_pdev *pdev;
|
||||||
void *peer;
|
void *peer;
|
||||||
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
void *soc = cds_get_context(QDF_MODULE_ID_SOC);
|
||||||
|
/* Will be removed as a part of cleanup */
|
||||||
|
uint8_t sta_id;
|
||||||
|
|
||||||
pdev = cds_get_context(QDF_MODULE_ID_TXRX);
|
pdev = cds_get_context(QDF_MODULE_ID_TXRX);
|
||||||
if (!pdev) {
|
if (!pdev) {
|
||||||
@@ -156,11 +157,12 @@ void wma_delete_sta_req_ndi_mode(tp_wma_handle wma,
|
|||||||
goto send_del_rsp;
|
goto send_del_rsp;
|
||||||
}
|
}
|
||||||
|
|
||||||
peer = cdp_peer_find_by_local_id(cds_get_context(QDF_MODULE_ID_SOC),
|
peer = cdp_peer_find_by_addr(cds_get_context(QDF_MODULE_ID_SOC),
|
||||||
pdev, del_sta->staIdx);
|
pdev, del_sta->staMac, &sta_id);
|
||||||
if (!peer) {
|
if (!peer) {
|
||||||
WMA_LOGE(FL("Failed to get peer handle using peer id %d"),
|
WMA_LOGE(FL("Failed to get peer handle using peer mac "
|
||||||
del_sta->staIdx);
|
QDF_MAC_ADDR_STR),
|
||||||
|
QDF_MAC_ADDR_ARRAY(del_sta->staMac));
|
||||||
del_sta->status = QDF_STATUS_E_FAILURE;
|
del_sta->status = QDF_STATUS_E_FAILURE;
|
||||||
goto send_del_rsp;
|
goto send_del_rsp;
|
||||||
}
|
}
|
||||||
|
@@ -2719,7 +2719,6 @@ wma_roam_update_vdev(tp_wma_handle wma,
|
|||||||
add_sta_params->smesessionId = vdev_id;
|
add_sta_params->smesessionId = vdev_id;
|
||||||
qdf_mem_copy(&add_sta_params->bssId, &roam_synch_ind_ptr->bssid.bytes,
|
qdf_mem_copy(&add_sta_params->bssId, &roam_synch_ind_ptr->bssid.bytes,
|
||||||
QDF_MAC_ADDR_SIZE);
|
QDF_MAC_ADDR_SIZE);
|
||||||
add_sta_params->staIdx = STA_INVALID_IDX;
|
|
||||||
add_sta_params->assocId = roam_synch_ind_ptr->aid;
|
add_sta_params->assocId = roam_synch_ind_ptr->aid;
|
||||||
|
|
||||||
bssid = wma_get_vdev_bssid(wma->interfaces[vdev_id].vdev);
|
bssid = wma_get_vdev_bssid(wma->interfaces[vdev_id].vdev);
|
||||||
|
Reference in New Issue
Block a user