summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSachin Ahuja <sahuja@qti.qualcomm.com>2014-03-28 12:06:41 +0530
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-04-01 21:21:43 -0700
commitf389f68e30c111507e2c517379ae2feb06e1bfab (patch)
treeea524858382d8f52878af8814efe008acb806aef
parent1beb85efda436b773ffc00305335801709fd0e8c (diff)
wlan: Added the support to get the Disconnect reason in diag event
Currently in Diag event report the disconnect reason is always 0. Added the support to get the correct reason code for disconnect in diag event report in QXDM. Change-Id: I333ed0bca89a53c5268d8fc0b01d9297a5efcae4 CRs-Fixed: 626840
-rw-r--r--CORE/SME/src/csr/csrApiRoam.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c
index 1370dee6e70e..090590b26f73 100644
--- a/CORE/SME/src/csr/csrApiRoam.c
+++ b/CORE/SME/src/csr/csrApiRoam.c
@@ -2559,6 +2559,9 @@ eHalStatus csrRoamCallCallback(tpAniSirGlobal pMac, tANI_U32 sessionId, tCsrRoam
connectionStatus.eventId = eCSR_WLAN_STATUS_DISCONNECT;
connectionStatus.reason = eCSR_REASON_DISASSOC;
+ if(pRoamInfo)
+ connectionStatus.reasonDisconnect = pRoamInfo->reasonCode;
+
WLAN_VOS_DIAG_EVENT_REPORT(&connectionStatus, EVENT_WLAN_STATUS);
}
if(eCSR_ROAM_RESULT_DEAUTH_IND == u2)
@@ -2570,6 +2573,8 @@ eHalStatus csrRoamCallCallback(tpAniSirGlobal pMac, tANI_U32 sessionId, tCsrRoam
connectionStatus.eventId = eCSR_WLAN_STATUS_DISCONNECT;
connectionStatus.reason = eCSR_REASON_DEAUTH;
+ if(pRoamInfo)
+ connectionStatus.reasonDisconnect = pRoamInfo->reasonCode;
WLAN_VOS_DIAG_EVENT_REPORT(&connectionStatus, EVENT_WLAN_STATUS);
}
#endif //FEATURE_WLAN_DIAG_SUPPORT_CSR
@@ -9370,6 +9375,7 @@ void csrRoamCheckForLinkStatusChange( tpAniSirGlobal pMac, tSirSmeRsp *pSirMsg )
pRoamInfo = &roamInfo;
pRoamInfo->statusCode = pDisassocInd->statusCode;
+ pRoamInfo->reasonCode = pDisassocInd->reasonCode;
pRoamInfo->u.pConnectedProfile = &pSession->connectedProfile;
pRoamInfo->staId = (tANI_U8)pDisassocInd->staId;
@@ -9451,6 +9457,7 @@ void csrRoamCheckForLinkStatusChange( tpAniSirGlobal pMac, tSirSmeRsp *pSirMsg )
pRoamInfo = &roamInfo;
pRoamInfo->statusCode = pDeauthInd->statusCode;
+ pRoamInfo->reasonCode = pDeauthInd->reasonCode;
pRoamInfo->u.pConnectedProfile = &pSession->connectedProfile;
pRoamInfo->staId = (tANI_U8)pDeauthInd->staId;
@@ -10568,6 +10575,7 @@ eHalStatus csrRoamLostLink( tpAniSirGlobal pMac, tANI_U32 sessionId, tANI_U32 ty
vos_mem_copy(roamInfo.peerMac, pDisassocIndMsg->peerMacAddr,
sizeof(tSirMacAddr));
roamInfo.staId = (tANI_U8)pDisassocIndMsg->staId;
+ roamInfo.reasonCode = pDisassocIndMsg->reasonCode;
}
else if( eWNI_SME_DEAUTH_IND == type )
{
@@ -10575,6 +10583,7 @@ eHalStatus csrRoamLostLink( tpAniSirGlobal pMac, tANI_U32 sessionId, tANI_U32 ty
vos_mem_copy(roamInfo.peerMac, pDeauthIndMsg->peerMacAddr,
sizeof(tSirMacAddr));
roamInfo.staId = (tANI_U8)pDeauthIndMsg->staId;
+ roamInfo.reasonCode = pDeauthIndMsg->reasonCode;
}
smsLog(pMac, LOGW, FL("roamInfo.staId (%d)"), roamInfo.staId);