summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CORE/MAC/src/pe/lim/limSendSmeRspMessages.c23
-rw-r--r--CORE/SME/src/csr/csrApiRoam.c12
2 files changed, 22 insertions, 13 deletions
diff --git a/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c b/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c
index d4188aa945a7..f1638080e659 100644
--- a/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c
+++ b/CORE/MAC/src/pe/lim/limSendSmeRspMessages.c
@@ -1600,7 +1600,17 @@ limSendSmeDisassocNtf(tpAniSirGlobal pMac,
vos_mem_copy(pSirSmeDisConDoneInd->peerMacAddr, peerMacAddr,
sizeof(tSirMacAddr));
pSirSmeDisConDoneInd->sessionId = smesessionId;
- pSirSmeDisConDoneInd->reasonCode = reasonCode;
+
+ /*
+ * Instead of sending deauth reason code as 505 which is internal
+ * value to driver(eSIR_SME_LOST_LINK_WITH_PEER_RESULT_CODE).
+ * Send reason code as zero to Supplicant
+ */
+ if (reasonCode == eSIR_SME_LOST_LINK_WITH_PEER_RESULT_CODE)
+ pSirSmeDisConDoneInd->reasonCode = 0;
+ else
+ pSirSmeDisConDoneInd->reasonCode = reasonCode;
+
pMsg = (tANI_U32 *)pSirSmeDisConDoneInd;
break;
@@ -2062,7 +2072,16 @@ limSendSmeDeauthNtf(tpAniSirGlobal pMac, tSirMacAddr peerMacAddr, tSirResultCode
pSirSmeDisConDoneInd->messageType = eWNI_SME_DISCONNECT_DONE_IND;
pSirSmeDisConDoneInd->length = sizeof(tSirSmeDisConDoneInd);
pSirSmeDisConDoneInd->sessionId = smesessionId;
- pSirSmeDisConDoneInd->reasonCode = reasonCode;
+
+ /*
+ * Instead of sending deauth reason code as 505 which is internal
+ * value to driver(eSIR_SME_LOST_LINK_WITH_PEER_RESULT_CODE).
+ * Send reason code as zero to Supplicant
+ */
+ if (reasonCode == eSIR_SME_LOST_LINK_WITH_PEER_RESULT_CODE)
+ pSirSmeDisConDoneInd->reasonCode = 0;
+ else
+ pSirSmeDisConDoneInd->reasonCode = reasonCode;
pMsg = (tANI_U32 *)pSirSmeDisConDoneInd;
vos_mem_copy(pSirSmeDisConDoneInd->peerMacAddr, peerMacAddr,
sizeof(tSirMacAddr));
diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c
index efd43821dd2c..06f8a1b906d2 100644
--- a/CORE/SME/src/csr/csrApiRoam.c
+++ b/CORE/SME/src/csr/csrApiRoam.c
@@ -11659,17 +11659,7 @@ eHalStatus csrRoamLostLink( tpAniSirGlobal pMac, tANI_U32 sessionId, tANI_U32 ty
result = eCSR_ROAM_RESULT_DEAUTH_IND;
pDeauthIndMsg = (tSirSmeDeauthInd *)pSirMsg;
pSession->roamingStatusCode = pDeauthIndMsg->statusCode;
- /* Convert into proper reason code */
- if ((pDeauthIndMsg->reasonCode == eSIR_BEACON_MISSED) ||
- (pDeauthIndMsg->reasonCode ==
- eSIR_MAC_DISASSOC_DUE_TO_INACTIVITY_REASON))
- pSession->joinFailStatusCode.reasonCode = 0;
- else
- pSession->joinFailStatusCode.reasonCode = pDeauthIndMsg->reasonCode;
- /*
- * cfg layer expects 0 as reason code if the driver doesn't know the
- * reason code eSIR_BEACON_MISSED is defined as locally
- */
+ pSession->joinFailStatusCode.reasonCode = pDeauthIndMsg->reasonCode;
}
else
{