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) ;