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/HDD/src/wlan_hdd_tdls.c b/CORE/HDD/src/wlan_hdd_tdls.c
index 431768e..77e70e8 100644
--- a/CORE/HDD/src/wlan_hdd_tdls.c
+++ b/CORE/HDD/src/wlan_hdd_tdls.c
@@ -255,7 +255,8 @@
 
     cfg80211_tdls_oper_request(pHddTdlsCtx->dev,
                                curr_peer->peerMac,
-                               NL80211_TDLS_TEARDOWN, FALSE,
+                               NL80211_TDLS_TEARDOWN,
+                               eSIR_MAC_TDLS_TEARDOWN_UNSPEC_REASON,
                                GFP_KERNEL);
 #endif
 }
@@ -440,6 +441,35 @@
     return 0;
 }
 
+int wlan_hdd_tdls_set_responder(u8 *mac, tANI_U8 responder)
+{
+    hddTdlsPeer_t *curr_peer;
+
+    if (NULL == pHddTdlsCtx) return -1;
+
+    curr_peer = wlan_hdd_tdls_get_peer(mac);
+    if(curr_peer == NULL)
+        return -1;
+
+    curr_peer->is_responder = responder;
+
+    return 0;
+}
+
+int wlan_hdd_tdls_get_responder(u8 *mac)
+{
+    hddTdlsPeer_t *curr_peer;
+
+    if (NULL == pHddTdlsCtx) return -1;
+
+    curr_peer = wlan_hdd_tdls_find_peer(mac);
+    if(curr_peer == NULL)
+        return -1;
+
+    return (curr_peer->is_responder);
+}
+
+
 void wlan_hdd_tdls_extract_da(struct sk_buff *skb, u8 *mac)
 {
     memcpy(mac, skb->data, 6);