wlan: Fix for IBSS ping failures
Ping failures were observed when the security mode was changed
from open to secure and vice-versa.
Change-Id: Icfe56b963b60a7937e07737039a995a1bb57d151
CRs-Fixed: 567719
diff --git a/CORE/HDD/src/wlan_hdd_assoc.c b/CORE/HDD/src/wlan_hdd_assoc.c
index 2eb4dcf..e9fbffe 100644
--- a/CORE/HDD/src/wlan_hdd_assoc.c
+++ b/CORE/HDD/src/wlan_hdd_assoc.c
@@ -713,6 +713,7 @@
pHddStaCtx->conn_info.ucEncryptionType = eCSR_ENCRYPT_TYPE_NONE;
vos_mem_zero( &pHddStaCtx->conn_info.Keys, sizeof( tCsrKeys ) );
+ vos_mem_zero( &pHddStaCtx->ibss_enc_key, sizeof(tCsrRoamSetKey) );
// Set not-connected state
pHddStaCtx->conn_info.connDot11DesiredBssType = eCSR_BSS_TYPE_ANY;
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index 1d68540..688ee56 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -6331,6 +6331,7 @@
ENTER();
pWextState->wpaVersion = IW_AUTH_WPA_VERSION_DISABLED;
+ vos_mem_zero(&pHddStaCtx->ibss_enc_key, sizeof(tCsrRoamSetKey));
if (params->ie_len && ( NULL != params->ie) )
{
diff --git a/CORE/MAC/src/pe/lim/limIbssPeerMgmt.c b/CORE/MAC/src/pe/lim/limIbssPeerMgmt.c
index 3b90724..b4c1e85 100644
--- a/CORE/MAC/src/pe/lim/limIbssPeerMgmt.c
+++ b/CORE/MAC/src/pe/lim/limIbssPeerMgmt.c
@@ -1337,10 +1337,11 @@
goto end;
}
+ limIbssDelete(pMac,psessionEntry);
+
dphHashTableClassInit(pMac, &psessionEntry->dph.dphHashTable);
limDeletePreAuthList(pMac);
- limIbssDelete(pMac,psessionEntry);
psessionEntry->limMlmState = eLIM_MLM_IDLE_STATE;
MTRACE(macTrace(pMac, TRACE_CODE_MLM_STATE, psessionEntry->peSessionId, psessionEntry->limMlmState));
diff --git a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
index 448bb1a..1295cd8 100644
--- a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
+++ b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
@@ -3539,9 +3539,9 @@
(void) body;
SET_LIM_PROCESS_DEFD_MESGS(pMac, true);
//TBD: get the sessionEntry
+ limIbssDelete(pMac,psessionEntry);
dphHashTableClassInit(pMac, &psessionEntry->dph.dphHashTable);
limDeletePreAuthList(pMac);
- limIbssDelete(pMac,psessionEntry);
limSendSmeRsp(pMac, eWNI_SME_STOP_BSS_RSP, eSIR_SME_SUCCESS,psessionEntry->smeSessionId,psessionEntry->transactionId);
return;
}