summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbhishek Singh <absingh@qti.qualcomm.com>2016-03-15 16:32:25 +0530
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2016-03-17 13:11:34 +0530
commit1b51503e6ea9a9d4e6a8739250969099dfbda623 (patch)
treef085443d99c6a223f2b138a91dc1064161653ee4
parent39900dcfa46478a7969104b4347ef2a6bdb37858 (diff)
qcacld-2.0: If association timeout Send deauth to cleanup the peer session
prima to qcacld-2.0 propagation In the scenario where association times out because device has missed the assoc resp sent by peer, the peer assumes the device to be connected and thus when device again sends the auth for fresh connection the peer sends deauth. Thus fresh connection also fails. To avoid this send deauth after association time out, to cleanup the session in peer. Change-Id: I1f7bfbe804da0dc92ce4ece87dc65954b086133c CRs-Fixed: 987455
-rw-r--r--CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c b/CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c
index d1528b2cfddb..9cb74d6aecae 100644
--- a/CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c
+++ b/CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c
@@ -4411,9 +4411,23 @@ limProcessAssocFailureTimeout(tpAniSirGlobal pMac, tANI_U32 MsgType)
/* notify TL that association is failed so that TL can flush the cached frame */
WLANTL_AssocFailed (psessionEntry->staId);
- // Log error
- PELOG1(limLog(pMac, LOG1,
- FL("Re/Association Response not received before timeout "));)
+ /* Log error */
+ limLog(pMac, LOG1,
+ FL("Re/Association Response not received before timeout "));
+ /*
+ * Send Deauth to handle the scenareo where association timeout happened
+ * when device has missed the assoc resp sent by peer.
+ * By sending deauth try to clear the session created on peer device.
+ */
+ limLog(pMac, LOGE,
+ FL("Sessionid: %d try sending Send deauth on channel %d to BSSID: "
+ MAC_ADDRESS_STR ), psessionEntry->peSessionId,
+ psessionEntry->currentOperChannel,
+ MAC_ADDR_ARRAY(psessionEntry->bssId));
+
+ limSendDeauthMgmtFrame(pMac, eSIR_MAC_UNSPEC_FAILURE_REASON,
+ psessionEntry->bssId,
+ psessionEntry, FALSE);
if ((LIM_IS_AP_ROLE(psessionEntry) ||
LIM_IS_BT_AMP_AP_ROLE(psessionEntry)) ||