diff options
| author | Varun Reddy Yeturu <varunreddy.yeturu@codeaurora.org> | 2018-08-07 14:45:31 -0700 |
|---|---|---|
| committer | nshrivas <nshrivas@codeaurora.org> | 2018-08-31 06:49:12 -0700 |
| commit | 22df739883d9004717b957744ba5cb0ebd3770ae (patch) | |
| tree | 60f61759d0bafaa9f75fc2d4a9a035bb2923d056 /core/mac/src | |
| parent | a661dccf0e7d03022ed89f11e8bd334da40ea26e (diff) | |
qcacld-3.0: Do not attempt to delete peer when it is not created
In preassoc state, if the set link state has failed to create the
peer, then send back a failure status to the upper layers and
ensure that the set link state for failure is not called again
because this will eventually call vdev stop and lead to a vdev
stop response and then lead to a peer delete attempt which is
really not needed since the peer has not been created at all.
Change-Id: I265726000204bab51c429a2d00cdd599d8064170
CRs-Fixed: 2286684
Diffstat (limited to 'core/mac/src')
| -rw-r--r-- | core/mac/src/pe/lim/lim_process_mlm_req_messages.c | 2 | ||||
| -rw-r--r-- | core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c | 10 |
2 files changed, 9 insertions, 3 deletions
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 9af8233c980f..e524420c93d0 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 @@ -814,7 +814,7 @@ failure: MTRACE(mac_trace(mac, TRACE_CODE_MLM_STATE, session_entry->peSessionId, session_entry->limMlmState)); session_entry->limMlmState = eLIM_MLM_IDLE_STATE; - mlm_join_cnf.resultCode = eSIR_SME_RESOURCES_UNAVAILABLE; + mlm_join_cnf.resultCode = eSIR_SME_PEER_CREATE_FAILED; mlm_join_cnf.sessionId = session_entry->peSessionId; mlm_join_cnf.protStatusCode = eSIR_MAC_UNSPEC_FAILURE_STATUS; lim_post_sme_message(mac, LIM_MLM_JOIN_CNF, (uint32_t *) &mlm_join_cnf); 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 f5f1597e0a6f..dc457fa318a8 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 @@ -1365,8 +1365,14 @@ void lim_handle_sme_join_result(tpAniSirGlobal mac_ctx, session_entry->pLimJoinReq = NULL; } error: - /* Delete the session if JOIN failure occurred. */ - if (result_code != eSIR_SME_SUCCESS) { + /* Delete the session if JOIN failure occurred. + * if the peer is not created, then there is no + * need to send down the set link state which will + * try to delete the peer. Instead a join response + * failure should be sent to the upper layers. + */ + if (result_code != eSIR_SME_SUCCESS && + result_code != eSIR_SME_PEER_CREATE_FAILED) { param = qdf_mem_malloc(sizeof(join_params)); if (param != NULL) { param->result_code = result_code; |
