mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 15:49:17 -04:00
qcacld-3.0: Send SME session ID in eWNI_SME_DISCONNECT_DONE_IND
Currently PE session ID is filled in eWNI_SME_DISCONNECT_DONE_IND __lim_process_sme_disassoc_cnf but this command is expected to fill SME session ID instead. Send SME session ID instead of PE session ID for eWNI_SME_DISCONNECT_DONE_IND in __lim_process_sme_disassoc_cnf function. Change-Id: I50f7ec31eea265d04a94d9717415227bde09bdb5 CRs-Fixed: 2246024
This commit is contained in:
parent
5202b599f8
commit
b2dcdd024f
5 changed files with 20 additions and 14 deletions
|
|
@ -1473,6 +1473,7 @@ typedef struct sSirSmeDisassocInd {
|
|||
typedef struct sSirSmeDisassocCnf {
|
||||
uint16_t messageType; /* eWNI_SME_DISASSOC_CNF */
|
||||
uint16_t length;
|
||||
uint8_t sme_session_id;
|
||||
tSirResultCodes statusCode;
|
||||
struct qdf_mac_addr bssid;
|
||||
struct qdf_mac_addr peer_macaddr;
|
||||
|
|
|
|||
|
|
@ -2298,7 +2298,7 @@ static void __lim_process_sme_disassoc_cnf(tpAniSirGlobal pMac, uint32_t *pMsgBu
|
|||
if (psessionEntry == NULL) {
|
||||
pe_err("session does not exist for given bssId");
|
||||
status = lim_prepare_disconnect_done_ind(pMac, &msg,
|
||||
CSR_SESSION_ID_INVALID,
|
||||
smeDisassocCnf.sme_session_id,
|
||||
eSIR_SME_INVALID_SESSION,
|
||||
NULL);
|
||||
if (QDF_IS_STATUS_SUCCESS(status))
|
||||
|
|
@ -2310,7 +2310,8 @@ static void __lim_process_sme_disassoc_cnf(tpAniSirGlobal pMac, uint32_t *pMsgBu
|
|||
|
||||
if (!lim_is_sme_disassoc_cnf_valid(pMac, &smeDisassocCnf, psessionEntry)) {
|
||||
pe_err("received invalid SME_DISASSOC_CNF message");
|
||||
status = lim_prepare_disconnect_done_ind(pMac, &msg, sessionId,
|
||||
status = lim_prepare_disconnect_done_ind(pMac, &msg,
|
||||
psessionEntry->smeSessionId,
|
||||
eSIR_SME_INVALID_PARAMETERS,
|
||||
&smeDisassocCnf.bssid.bytes[0]);
|
||||
if (QDF_IS_STATUS_SUCCESS(status))
|
||||
|
|
@ -2341,10 +2342,9 @@ static void __lim_process_sme_disassoc_cnf(tpAniSirGlobal pMac, uint32_t *pMsgBu
|
|||
lim_print_sme_state(pMac, LOGE,
|
||||
psessionEntry->limSmeState);
|
||||
status = lim_prepare_disconnect_done_ind(pMac, &msg,
|
||||
sessionId,
|
||||
eSIR_SME_INVALID_STATE,
|
||||
&smeDisassocCnf.bssid.
|
||||
bytes[0]);
|
||||
psessionEntry->smeSessionId,
|
||||
eSIR_SME_INVALID_STATE,
|
||||
&smeDisassocCnf.bssid.bytes[0]);
|
||||
if (QDF_IS_STATUS_SUCCESS(status))
|
||||
lim_send_sme_disassoc_deauth_ntf(pMac,
|
||||
QDF_STATUS_SUCCESS,
|
||||
|
|
@ -2361,7 +2361,8 @@ static void __lim_process_sme_disassoc_cnf(tpAniSirGlobal pMac, uint32_t *pMsgBu
|
|||
default: /* eLIM_UNKNOWN_ROLE */
|
||||
pe_err("received unexpected SME_DISASSOC_CNF role %d",
|
||||
GET_LIM_SYSTEM_ROLE(psessionEntry));
|
||||
status = lim_prepare_disconnect_done_ind(pMac, &msg, sessionId,
|
||||
status = lim_prepare_disconnect_done_ind(pMac, &msg,
|
||||
psessionEntry->smeSessionId,
|
||||
eSIR_SME_INVALID_STATE,
|
||||
&smeDisassocCnf.bssid.bytes[0]);
|
||||
if (QDF_IS_STATUS_SUCCESS(status))
|
||||
|
|
@ -2382,7 +2383,7 @@ static void __lim_process_sme_disassoc_cnf(tpAniSirGlobal pMac, uint32_t *pMsgBu
|
|||
MAC_ADDRESS_STR,
|
||||
MAC_ADDR_ARRAY(smeDisassocCnf.peer_macaddr.bytes));
|
||||
status = lim_prepare_disconnect_done_ind(pMac, &msg,
|
||||
sessionId,
|
||||
psessionEntry->smeSessionId,
|
||||
eSIR_SME_INVALID_PARAMETERS,
|
||||
&smeDisassocCnf.bssid.bytes[0]);
|
||||
if (QDF_IS_STATUS_SUCCESS(status))
|
||||
|
|
@ -2400,9 +2401,9 @@ static void __lim_process_sme_disassoc_cnf(tpAniSirGlobal pMac, uint32_t *pMsgBu
|
|||
MAC_ADDR_ARRAY(smeDisassocCnf.peer_macaddr.bytes),
|
||||
pStaDs->mlmStaContext.mlmState);
|
||||
status = lim_prepare_disconnect_done_ind(pMac, &msg,
|
||||
CSR_SESSION_ID_INVALID,
|
||||
eSIR_SME_SUCCESS,
|
||||
NULL);
|
||||
psessionEntry->smeSessionId,
|
||||
eSIR_SME_SUCCESS,
|
||||
NULL);
|
||||
if (QDF_IS_STATUS_SUCCESS(status))
|
||||
lim_send_sme_disassoc_deauth_ntf(pMac,
|
||||
QDF_STATUS_SUCCESS,
|
||||
|
|
|
|||
|
|
@ -1189,8 +1189,8 @@ QDF_STATUS lim_prepare_disconnect_done_ind(tpAniSirGlobal mac_ctx,
|
|||
sir_sme_dis_ind->length = sizeof(*sir_sme_dis_ind);
|
||||
sir_sme_dis_ind->session_id = session_id;
|
||||
if (peer_mac_addr)
|
||||
qdf_mem_copy(&sir_sme_dis_ind->peer_mac,
|
||||
&peer_mac_addr, ETH_ALEN);
|
||||
qdf_mem_copy(sir_sme_dis_ind->peer_mac,
|
||||
peer_mac_addr, ETH_ALEN);
|
||||
|
||||
/*
|
||||
* Instead of sending deauth reason code as 505 which is
|
||||
|
|
|
|||
|
|
@ -16191,6 +16191,7 @@ QDF_STATUS csr_send_mb_disassoc_cnf_msg(tpAniSirGlobal pMac,
|
|||
pMsg->messageType = eWNI_SME_DISASSOC_CNF;
|
||||
pMsg->statusCode = eSIR_SME_SUCCESS;
|
||||
pMsg->length = sizeof(tSirSmeDisassocCnf);
|
||||
pMsg->sme_session_id = pDisassocInd->sessionId;
|
||||
qdf_copy_macaddr(&pMsg->peer_macaddr,
|
||||
&pDisassocInd->peer_macaddr);
|
||||
status = QDF_STATUS_SUCCESS;
|
||||
|
|
@ -16228,6 +16229,7 @@ QDF_STATUS csr_send_mb_deauth_cnf_msg(tpAniSirGlobal pMac,
|
|||
pMsg->messageType = eWNI_SME_DEAUTH_CNF;
|
||||
pMsg->statusCode = eSIR_SME_SUCCESS;
|
||||
pMsg->length = sizeof(tSirSmeDeauthCnf);
|
||||
pMsg->sme_session_id = pDeauthInd->sessionId;
|
||||
qdf_copy_macaddr(&pMsg->bssid, &pDeauthInd->bssid);
|
||||
status = QDF_STATUS_SUCCESS;
|
||||
if (!QDF_IS_STATUS_SUCCESS(status)) {
|
||||
|
|
|
|||
|
|
@ -76,7 +76,9 @@ QDF_STATUS csr_msg_processor(tpAniSirGlobal mac_ctx, void *msg_buf)
|
|||
* due to failure or finding the condition meets both
|
||||
* SAP and infra/IBSS requirement.
|
||||
*/
|
||||
if (eWNI_SME_SETCONTEXT_RSP == sme_rsp->messageType) {
|
||||
if (eWNI_SME_SETCONTEXT_RSP == sme_rsp->messageType ||
|
||||
eWNI_SME_DISCONNECT_DONE_IND ==
|
||||
sme_rsp->messageType) {
|
||||
sme_warn("handling msg 0x%X CSR state is %d",
|
||||
sme_rsp->messageType, cur_state);
|
||||
csr_roam_check_for_link_status_change(mac_ctx,
|
||||
|
|
|
|||
Loading…
Reference in a new issue