TDLS: Remember initiator/reponder role and use this for teardown.
Passing tdls requestor type i.e. initiator/responder correctly to fill
the teardown frame with proper LinkIdentifier element.
CRs-Fixed: 448441
Change-Id: I29e96a1da50e94447c568fb7095217ff2718c1e6
diff --git a/CORE/SME/inc/csrApi.h b/CORE/SME/inc/csrApi.h
index 7b4182f..d433a92 100644
--- a/CORE/SME/inc/csrApi.h
+++ b/CORE/SME/inc/csrApi.h
@@ -1299,6 +1299,7 @@
tANI_U8 frameType;
tANI_U8 dialog;
tANI_U16 statusCode;
+ tANI_U8 responder;
tANI_U8 *buf;
tANI_U8 len;
diff --git a/CORE/SME/inc/smeInside.h b/CORE/SME/inc/smeInside.h
index e6f6b23..abae34d 100644
--- a/CORE/SME/inc/smeInside.h
+++ b/CORE/SME/inc/smeInside.h
@@ -129,6 +129,7 @@
tANI_U8 frameType;
tANI_U8 dialog;
tANI_U16 statusCode;
+ tANI_U8 responder;
tANI_U8 *buf;
tANI_U8 len;
} tTdlsSendMgmtCmdInfo;
diff --git a/CORE/SME/inc/sme_Api.h b/CORE/SME/inc/sme_Api.h
index 39546ef..4ae8567 100755
--- a/CORE/SME/inc/sme_Api.h
+++ b/CORE/SME/inc/sme_Api.h
@@ -2346,10 +2346,11 @@
\param status - status to be incuded in the frame.
\param buf - additional IEs to be included
\param len - lenght of additional Ies
+ \param responder - Tdls request type
\- return VOS_STATUS_SUCCES
-------------------------------------------------------------------------*/
VOS_STATUS sme_SendTdlsMgmtFrame(tHalHandle hHal, tANI_U8 sessionId, tSirMacAddr peerMac,
- tANI_U8 frame_type, tANI_U8 dialog, tANI_U16 status, tANI_U8 *buf, tANI_U8 len);
+ tANI_U8 frame_type, tANI_U8 dialog, tANI_U16 status, tANI_U8 *buf, tANI_U8 len, tANI_U8 responder);
/* ---------------------------------------------------------------------------
\fn sme_AddTdlsPeerSta
\brief API to Add TDLS peer sta entry.
diff --git a/CORE/SME/src/csr/csrTdlsProcess.c b/CORE/SME/src/csr/csrTdlsProcess.c
index c381e2b..db470f2 100644
--- a/CORE/SME/src/csr/csrTdlsProcess.c
+++ b/CORE/SME/src/csr/csrTdlsProcess.c
@@ -161,7 +161,8 @@
tdlsSendMgmtCmdInfo->frameType = tdlsSendMgmt->frameType ;
tdlsSendMgmtCmdInfo->dialog = tdlsSendMgmt->dialog ;
- tdlsSendMgmtCmdInfo->statusCode = tdlsSendMgmt->statusCode ;
+ tdlsSendMgmtCmdInfo->statusCode = tdlsSendMgmt->statusCode ;
+ tdlsSendMgmtCmdInfo->responder = tdlsSendMgmt->responder;
palCopyMemory(pMac->hHdd, tdlsSendMgmtCmdInfo->peerMac,
tdlsSendMgmt->peerMac, sizeof(tSirMacAddr)) ;
@@ -415,6 +416,7 @@
tdlsSendMgmtReq->reqType = tdlsSendMgmtCmdInfo->frameType ;
tdlsSendMgmtReq->dialog = tdlsSendMgmtCmdInfo->dialog ;
tdlsSendMgmtReq->statusCode = tdlsSendMgmtCmdInfo->statusCode ;
+ tdlsSendMgmtReq->responder = tdlsSendMgmtCmdInfo->responder;
palCopyMemory(pMac->hHdd, tdlsSendMgmtReq->bssid, pSession->pConnectBssDesc->bssId,
sizeof (tSirMacAddr));
palCopyMemory(pMac->hHdd, tdlsSendMgmtReq->peerMac,
diff --git a/CORE/SME/src/sme_common/sme_Api.c b/CORE/SME/src/sme_common/sme_Api.c
index f7e0930..8b49b37 100755
--- a/CORE/SME/src/sme_common/sme_Api.c
+++ b/CORE/SME/src/sme_common/sme_Api.c
@@ -7112,10 +7112,11 @@
\param status - status to be incuded in the frame.
\param buf - additional IEs to be included
\param len - lenght of additional Ies
+ \param responder - Tdls request type
\- return VOS_STATUS_SUCCES
-------------------------------------------------------------------------*/
VOS_STATUS sme_SendTdlsMgmtFrame(tHalHandle hHal, tANI_U8 sessionId, tSirMacAddr peerMac,
- tANI_U8 frame_type, tANI_U8 dialog, tANI_U16 statusCode, tANI_U8 *buf, tANI_U8 len)
+ tANI_U8 frame_type, tANI_U8 dialog, tANI_U16 statusCode, tANI_U8 *buf, tANI_U8 len, tANI_U8 responder)
{
eHalStatus status = eHAL_STATUS_SUCCESS;
tCsrTdlsSendMgmt sendTdlsReq = {{0}} ;
@@ -7130,6 +7131,7 @@
sendTdlsReq.len = len;
sendTdlsReq.dialog = dialog;
sendTdlsReq.statusCode = statusCode;
+ sendTdlsReq.responder = responder;
status = csrTdlsSendMgmtReq(hHal, sessionId, &sendTdlsReq) ;