diff options
| author | Hanumanth Reddy Pothula <c_hpothu@qti.qualcomm.com> | 2016-09-12 14:35:03 +0530 |
|---|---|---|
| committer | qcabuildsw <qcabuildsw@localhost> | 2016-11-29 16:07:32 -0800 |
| commit | b809194baccaf9a09f3f7c1c0cf2489259a73243 (patch) | |
| tree | 4edbe4b7349569b644c1ee6cef6f3d35431c6803 | |
| parent | 6022d5827974fe96a71c0c78c9d0ba62c8f3e7ef (diff) | |
qcacld-3.0: Do DEL_STA if driver gets deauth during ADD_STA
qcacld-2.0 to qcacld-3.0 propagation
Add new resultCode, 'eSIR_SME_JOIN_DEAUTH_FROM_AP_DURING_ADD_STA',
to make sure driver does DEL_STA follwed by DEL_BSS, if driver
receives DEAUTH frame when it's waiting for ADD_STA_RSP.
Change-Id: I697a8bf4e4f4d8b1063ad660395cea33031f1647
CRs-Fixed: 599416
| -rw-r--r-- | core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c | 18 |
1 files changed, 15 insertions, 3 deletions
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 6015c96b99a7..5303a9019587 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 @@ -691,9 +691,21 @@ void lim_process_mlm_assoc_cnf(tpAniSirGlobal mac_ctx, } if (((tLimMlmAssocCnf *) msg)->resultCode != eSIR_SME_SUCCESS) { /* Association failure */ - lim_log(mac_ctx, LOG1, FL("SessionId:%d Association failure"), - session_entry->peSessionId); - session_entry->limSmeState = eLIM_SME_JOIN_FAILURE_STATE; + lim_log(mac_ctx, LOG1, FL("SessionId:%d Association failure resultCode: %d limSmeState:%d"), + session_entry->peSessionId, + ((tLimMlmAssocCnf *) msg)->resultCode, + session_entry->limSmeState); + + /* If driver gets deauth when its waiting for ADD_STA_RSP then + * we need to do DEL_STA followed by DEL_BSS. So based on below + * reason-code here we decide whether to do only DEL_BSS or + * DEL_STA + DEL_BSS. + */ + if (((tLimMlmAssocCnf *) msg)->resultCode != + eSIR_SME_JOIN_DEAUTH_FROM_AP_DURING_ADD_STA) + session_entry->limSmeState = + eLIM_SME_JOIN_FAILURE_STATE; + MTRACE(mac_trace(mac_ctx, TRACE_CODE_SME_STATE, session_entry->peSessionId, mac_ctx->lim.gLimSmeState)); /* |
