summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/mac/src/include/sir_params.h1
-rw-r--r--core/mac/src/pe/lim/lim_process_mlm_req_messages.c5
-rw-r--r--core/mac/src/pe/lim/lim_process_mlm_rsp_messages.c2
-rw-r--r--core/wma/src/wma_data.c3
4 files changed, 4 insertions, 7 deletions
diff --git a/core/mac/src/include/sir_params.h b/core/mac/src/include/sir_params.h
index acedd40e31f0..cd5ffa516a5c 100644
--- a/core/mac/src/include/sir_params.h
+++ b/core/mac/src/include/sir_params.h
@@ -109,6 +109,7 @@ typedef enum eSriLinkState {
eSIR_LINK_POSTASSOC_STATE = 2,
eSIR_LINK_AP_STATE = 3,
eSIR_LINK_IBSS_STATE = 4,
+ eSIR_LINK_DOWN_STATE = 5,
} tSirLinkState;
/* / Message queue structure used across Sirius project. */
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 897f3621a52e..fb43f581a2f7 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
@@ -2394,11 +2394,6 @@ static void lim_process_join_failure_timeout(tpAniSirGlobal mac_ctx)
session->limMlmState = eLIM_MLM_IDLE_STATE;
MTRACE(mac_trace(mac_ctx, TRACE_CODE_MLM_STATE,
session->peSessionId, session->limMlmState));
- if (lim_set_link_state(mac_ctx, eSIR_LINK_IDLE_STATE,
- session->bssId, session->selfMacAddr,
- NULL, NULL) != eSIR_SUCCESS)
- lim_log(mac_ctx, LOGE,
- ("Failed to set the LinkState"));
/* Update PE session Id */
mlm_join_cnf.sessionId = session->peSessionId;
/* Freeup buffer allocated to join request */
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 3f8b0fcdc1ae..99fc67e544d1 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
@@ -1436,7 +1436,7 @@ error:
/* Delete teh session if JOIN failure occurred. */
if (result_code != eSIR_SME_SUCCESS) {
if (lim_set_link_state
- (mac_ctx, eSIR_LINK_IDLE_STATE,
+ (mac_ctx, eSIR_LINK_DOWN_STATE,
session_entry->bssId,
session_entry->selfMacAddr, NULL,
NULL) != eSIR_SUCCESS)
diff --git a/core/wma/src/wma_data.c b/core/wma/src/wma_data.c
index 85b836bc5579..d10526f1de18 100644
--- a/core/wma/src/wma_data.c
+++ b/core/wma/src/wma_data.c
@@ -1165,7 +1165,8 @@ void wma_set_linkstate(tp_wma_handle wma, tpLinkStateParams params)
params->status = true;
WMA_LOGD("%s: state %d selfmac %pM", __func__,
params->state, params->selfMacAddr);
- if (params->state != eSIR_LINK_PREASSOC_STATE) {
+ if ((params->state != eSIR_LINK_PREASSOC_STATE) &&
+ (params->state != eSIR_LINK_DOWN_STATE)) {
WMA_LOGD("%s: unsupported link state %d",
__func__, params->state);
goto out;