1
0

qcacld-3.0: Process STA kickout event only in link established state

Firmware may send STA kickout event even during association. This
change the limSmeState to eLIM_SME_WT_DEAUTH_STATE from
eLIM_SME_WT_ASSOC_STATE. Due to this assoc confirm is not processed
and HDD remains in connecting state and thus all subsequent scans
fails.

Fix this by processing STA kickout event only in
eLIM_MLM_LINK_ESTABLISHED_STATE

Change-Id: I75b4814aade80ca74ef9aef67ecea99a3bc15148
CRs-Fixed: 2012727
Este cometimento está contido em:
Abhishek Singh
2017-02-28 17:34:19 +05:30
cometido por qcabuildsw
ascendente 71a600a36f
cometimento 9354d69eca

Ver ficheiro

@@ -230,6 +230,15 @@ void lim_delete_sta_context(tpAniSirGlobal mac_ctx,
switch (msg->reasonCode) {
case HAL_DEL_STA_REASON_CODE_KEEP_ALIVE:
if (LIM_IS_STA_ROLE(session_entry) && !msg->is_tdls) {
if (session_entry->limMlmState !=
eLIM_MLM_LINK_ESTABLISHED_STATE) {
lim_log(mac_ctx, LOGE,
FL("Do not process in limMlmState %s(%x)"),
lim_mlm_state_str(session_entry->limMlmState),
session_entry->limMlmState);
qdf_mem_free(msg);
return;
}
sta_ds = dph_get_hash_entry(mac_ctx,
DPH_STA_HASH_INDEX_PEER,
&session_entry->dph.dphHashTable);