TDLS: Refine TDLS debug print.

667312: TDLS: Refine TDLS debug print.
667322: Fix the compilation error introduced by integration CL#667312.

Change-Id: Ia61956b0f15b9455519de7d92ca502a95fc88028
diff --git a/CORE/HDD/inc/wlan_hdd_main.h b/CORE/HDD/inc/wlan_hdd_main.h
index e0dbda1..12d43a2 100644
--- a/CORE/HDD/inc/wlan_hdd_main.h
+++ b/CORE/HDD/inc/wlan_hdd_main.h
@@ -159,6 +159,8 @@
 #define WLAN_HDD_P2P_SOCIAL_CHANNELS 3
 #define WLAN_HDD_P2P_SINGLE_CHANNEL_SCAN 1
 
+#define WLAN_HDD_PUBLIC_ACTION_TDLS_DISC_RESP 14
+#define WLAN_HDD_TDLS_ACTION_FRAME 12
 #ifdef WLAN_FEATURE_HOLD_RX_WAKELOCK
 #define HDD_WAKE_LOCK_DURATION 50
 #endif
diff --git a/CORE/HDD/src/wlan_hdd_assoc.c b/CORE/HDD/src/wlan_hdd_assoc.c
index 8528401..212ec52 100644
--- a/CORE/HDD/src/wlan_hdd_assoc.c
+++ b/CORE/HDD/src/wlan_hdd_assoc.c
@@ -1861,7 +1861,19 @@
 {
     hdd_station_ctx_t *pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter);
     eHalStatus status = eHAL_STATUS_FAILURE ;
- 
+
+#ifdef WLAN_FEATURE_TDLS_DEBUG
+    VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
+    ("hdd_tdlsStatusUpdate: %s staIdx %d %02x:%02x:%02x:%02x:%02x:%02x \n"), roamResult == eCSR_ROAM_RESULT_ADD_TDLS_PEER ? "ADD_TDLS_PEER" :
+    roamResult == eCSR_ROAM_RESULT_DELETE_TDLS_PEER ? "DEL_TDLS_PEER": "UNKNOWN",
+        pRoamInfo->staId,
+        pRoamInfo->peerMac[0],
+        pRoamInfo->peerMac[1],
+        pRoamInfo->peerMac[2],
+        pRoamInfo->peerMac[3],
+        pRoamInfo->peerMac[4],
+        pRoamInfo->peerMac[5]) ;
+#endif
     switch( roamResult )
     {
         case eCSR_ROAM_RESULT_ADD_TDLS_PEER:
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index 144bcdf..f479da8 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -6467,9 +6467,12 @@
     }
     vos_mem_copy( peerMac, peer, 6);
 
-    VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO, 
-                     "Request to send TDLS management: action = %d, status = %d, \
-                      len = %d", action_code, status_code, len);
+#ifdef WLAN_FEATURE_TDLS_DEBUG
+    VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
+                     "%s: %02x:%02x:%02x:%02x:%02x:%02x) action %d, dialog_token %d status %d, len = %d",
+                     "tdls_mgmt", peer[0], peer[1], peer[2], peer[3], peer[4], peer[5],
+                      action_code, dialog_token, status_code, len);
+#endif
 
     buf_1 = vos_mem_malloc(len);
     if(buf_1 == NULL) {
@@ -6497,6 +6500,15 @@
 {
     hdd_adapter_t *pAdapter = WLAN_HDD_GET_PRIV_PTR(dev);
     hdd_context_t *pHddCtx = wiphy_priv(wiphy);
+#ifdef WLAN_FEATURE_TDLS_DEBUG
+    const char *tdls_oper_str[]= {
+        "NL80211_TDLS_DISCOVERY_REQ",
+        "NL80211_TDLS_SETUP",
+        "NL80211_TDLS_TEARDOWN",
+        "NL80211_TDLS_ENABLE_LINK",
+        "NL80211_TDLS_DISABLE_LINK",
+        "NL80211_TDLS_UNKONW_OPER"};
+#endif
 
     if( NULL == pHddCtx || NULL == pHddCtx->cfg_ini )
     {
@@ -6504,14 +6516,21 @@
                 "Invalid arguments");
         return -EINVAL;
     }
-       
-    VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO, 
-            "Request for TDLS oper: %d", (int)oper);
+
+#ifdef WLAN_FEATURE_TDLS_DEBUG
+    if((int)oper > 4)
+        oper = 5;
+
+    VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
+            "%s: %02x:%02x:%02x:%02x:%02x:%02x: %d (%s) ", "tdls_oper",
+            peer[0], peer[1], peer[2], peer[3], peer[4], peer[5], (int)oper,
+            tdls_oper_str[(int)oper]);
+#endif
 
     if( FALSE == pHddCtx->cfg_ini->fEnableTDLSSupport ||
-        FALSE == sme_IsFeatureSupportedByFW(TDLS)) 
+        FALSE == sme_IsFeatureSupportedByFW(TDLS))
     {
-        VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR, 
+        VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
                 "TDLS Disabled in INI OR not enabled in FW.\
                 Cannot process TDLS commands \n");
         return -ENOTSUPP;
@@ -6520,7 +6539,7 @@
     switch (oper) {
         case NL80211_TDLS_ENABLE_LINK:
             {
-                v_CONTEXT_t pVosContext = (WLAN_HDD_GET_CTX(pAdapter))->pvosContext;  
+                v_CONTEXT_t pVosContext = (WLAN_HDD_GET_CTX(pAdapter))->pvosContext;
                 v_U8_t my_peer[6];
                 v_U8_t ucSTAId;
                 VOS_STATUS status;
diff --git a/CORE/HDD/src/wlan_hdd_p2p.c b/CORE/HDD/src/wlan_hdd_p2p.c
index 243e30c..04a1881 100644
--- a/CORE/HDD/src/wlan_hdd_p2p.c
+++ b/CORE/HDD/src/wlan_hdd_p2p.c
@@ -63,6 +63,9 @@
 #include <linux/skbuff.h>
 #include <linux/etherdevice.h>
 #include <net/ieee80211_radiotap.h>
+#ifdef FEATURE_WLAN_TDLS
+#include "wlan_hdd_tdls.h"
+#endif
 
 //Ms to Micro Sec
 #define MS_TO_MUS(x)   ((x)*1000);
@@ -87,6 +90,20 @@
 tP2PConnectionStatus globalP2PConnectionStatus = P2P_NOT_ACTIVE;
 
 #endif
+#ifdef WLAN_FEATURE_TDLS_DEBUG
+#define MAX_TDLS_ACTION_FRAME_TYPE 11
+const char *tdls_action_frame_type[] = {"TDLS Setup Request",
+                                        "TDLS Setup Response",
+                                        "TDLS Setup Confirm",
+                                        "TDLS Teardown",
+                                        "TDLS Peer Traffic Indication",
+                                        "TDLS Channel Switch Request",
+                                        "TDLS Channel Switch Response",
+                                        "TDLS Peer PSM Request",
+                                        "TDLS Peer PSM Response",
+                                        "TDLS Peer Traffic Response",
+                                        "TDLS Discovery Request" };
+#endif
 
 extern struct net_device_ops net_ops_struct;
 
@@ -514,7 +531,7 @@
             (buf[WLAN_HDD_PUBLIC_ACTION_FRAME_OFFSET] == WLAN_HDD_PUBLIC_ACTION_FRAME))
     {
         actionFrmType = buf[WLAN_HDD_PUBLIC_ACTION_FRAME_TYPE_OFFSET];
-        if(actionFrmType > MAX_P2P_ACTION_FRAME_TYPE)
+        if(actionFrmType >= MAX_P2P_ACTION_FRAME_TYPE)
         {
             hddLog(VOS_TRACE_LEVEL_ERROR,"[P2P] unknown[%d] ---> OTA",
                                    actionFrmType);
@@ -697,6 +714,7 @@
        )
     {
         tANI_U8 sessionId = pAdapter->sessionId;
+
         if ((type == SIR_MAC_MGMT_FRAME) &&
                 (subType == SIR_MAC_MGMT_ACTION) &&
                 (buf[WLAN_HDD_PUBLIC_ACTION_FRAME_OFFSET] == WLAN_HDD_PUBLIC_ACTION_FRAME))
@@ -1315,54 +1333,84 @@
     cfgState = WLAN_HDD_GET_CFG_STATE_PTR( pAdapter );
     
     if ((type == SIR_MAC_MGMT_FRAME) && 
-            (subType == SIR_MAC_MGMT_ACTION) &&
-            (pbFrames[WLAN_HDD_PUBLIC_ACTION_FRAME_OFFSET] == WLAN_HDD_PUBLIC_ACTION_FRAME))
+        (subType == SIR_MAC_MGMT_ACTION))
     {
-        actionFrmType = pbFrames[WLAN_HDD_PUBLIC_ACTION_FRAME_TYPE_OFFSET];
-        hddLog(LOG1, "Rx Action Frame %u", actionFrmType);
+        if(pbFrames[WLAN_HDD_PUBLIC_ACTION_FRAME_OFFSET] == WLAN_HDD_PUBLIC_ACTION_FRAME)
+        {
+            // public action frame
+            if((pbFrames[WLAN_HDD_PUBLIC_ACTION_FRAME_OFFSET+1] == SIR_MAC_ACTION_VENDOR_SPECIFIC) &&
+                !vos_mem_compare(&pbFrames[WLAN_HDD_PUBLIC_ACTION_FRAME_OFFSET+2], SIR_MAC_P2P_OUI, SIR_MAC_P2P_OUI_SIZE))
+            // P2P action frames
+            {
+                actionFrmType = pbFrames[WLAN_HDD_PUBLIC_ACTION_FRAME_TYPE_OFFSET];
+                hddLog(LOG1, "Rx Action Frame %u \n", actionFrmType);
 #ifdef WLAN_FEATURE_P2P_DEBUG
-        if(actionFrmType > MAX_P2P_ACTION_FRAME_TYPE)
-        {
-            hddLog(VOS_TRACE_LEVEL_ERROR,"[P2P] unknown[%d] <--- OTA",
-                                                        actionFrmType);
-        }
-        else
-        {
-            hddLog(VOS_TRACE_LEVEL_ERROR,"[P2P] %s <--- OTA",
-            p2p_action_frame_type[actionFrmType]);
-            if( (actionFrmType == WLAN_HDD_PROV_DIS_REQ) &&
-                (globalP2PConnectionStatus == P2P_NOT_ACTIVE) )
-            {
-                 globalP2PConnectionStatus = P2P_GO_NEG_PROCESS;
-                 hddLog(LOGE,"[P2P State]Inactive state to "
+                if(actionFrmType >= MAX_P2P_ACTION_FRAME_TYPE)
+                {
+                    hddLog(VOS_TRACE_LEVEL_ERROR,"[P2P] unknown[%d] <--- OTA",
+                                                                actionFrmType);
+                }
+                else
+                {
+                    hddLog(VOS_TRACE_LEVEL_ERROR,"[P2P] %s <--- OTA",
+                    p2p_action_frame_type[actionFrmType]);
+                    if( (actionFrmType == WLAN_HDD_PROV_DIS_REQ) &&
+                        (globalP2PConnectionStatus == P2P_NOT_ACTIVE) )
+                    {
+                         globalP2PConnectionStatus = P2P_GO_NEG_PROCESS;
+                         hddLog(LOGE,"[P2P State]Inactive state to "
                            "GO negotiation progress state");
-            }
-            else if( (actionFrmType == WLAN_HDD_GO_NEG_CNF) &&
-                (globalP2PConnectionStatus == P2P_GO_NEG_PROCESS) )
-            {
-                 globalP2PConnectionStatus = P2P_GO_NEG_COMPLETED;
+                    }
+                    else if( (actionFrmType == WLAN_HDD_GO_NEG_CNF) &&
+                        (globalP2PConnectionStatus == P2P_GO_NEG_PROCESS) )
+                    {
+                         globalP2PConnectionStatus = P2P_GO_NEG_COMPLETED;
                  hddLog(LOGE,"[P2P State]GO negotiation progress to "
                              "GO negotiation completed state");
+                    }
+                    else if( (actionFrmType == WLAN_HDD_INVITATION_REQ) &&
+                        (globalP2PConnectionStatus == P2P_NOT_ACTIVE) )
+                    {
+                         globalP2PConnectionStatus = P2P_GO_NEG_COMPLETED;
+                         hddLog(LOGE,"[P2P State]Inactive state to GO negotiation"
+                                     " completed state Autonomous GO formation");
+                    }
+                }
+#endif
+
+                if (((actionFrmType == WLAN_HDD_PROV_DIS_RESP) &&
+                            (cfgState->actionFrmState == HDD_PD_REQ_ACK_PENDING)) ||
+                        ((actionFrmType == WLAN_HDD_GO_NEG_RESP) &&
+                         (cfgState->actionFrmState == HDD_GO_NEG_REQ_ACK_PENDING)))
+                {
+                    hddLog(LOG1, "%s: ACK_PENDING and But received RESP for Action frame ",
+                            __func__);
+                    hdd_sendActionCnf(pAdapter, TRUE);
+                }
             }
-            else if( (actionFrmType == WLAN_HDD_INVITATION_REQ) &&
-                (globalP2PConnectionStatus == P2P_NOT_ACTIVE) )
+#ifdef WLAN_FEATURE_TDLS_DEBUG
+            else if(pbFrames[WLAN_HDD_PUBLIC_ACTION_FRAME_OFFSET+1] == WLAN_HDD_PUBLIC_ACTION_TDLS_DISC_RESP)
             {
-                 globalP2PConnectionStatus = P2P_GO_NEG_COMPLETED;
-                 hddLog(LOGE,"[P2P State]Inactive state to GO negotiation"
-                             " completed state Autonomous GO formation");
+                hddLog(VOS_TRACE_LEVEL_ERROR,"[TDLS] TDLS Discovery Response <--- OTA");
+            }
+#endif
+        }
+#ifdef WLAN_FEATURE_TDLS_DEBUG
+        if(pbFrames[WLAN_HDD_PUBLIC_ACTION_FRAME_OFFSET] == WLAN_HDD_TDLS_ACTION_FRAME)
+        {
+            actionFrmType = pbFrames[WLAN_HDD_PUBLIC_ACTION_FRAME_OFFSET+1];
+            if(actionFrmType >= MAX_TDLS_ACTION_FRAME_TYPE)
+            {
+                hddLog(VOS_TRACE_LEVEL_ERROR,"[TDLS] unknown[%d] <--- OTA",
+                                                            actionFrmType);
+            }
+            else
+            {
+                hddLog(VOS_TRACE_LEVEL_ERROR,"[TDLS] %s <--- OTA",
+                    tdls_action_frame_type[actionFrmType]);
             }
         }
 #endif
-
-        if (((actionFrmType == WLAN_HDD_PROV_DIS_RESP) &&
-                    (cfgState->actionFrmState == HDD_PD_REQ_ACK_PENDING)) ||
-                ((actionFrmType == WLAN_HDD_GO_NEG_RESP) &&
-                 (cfgState->actionFrmState == HDD_GO_NEG_REQ_ACK_PENDING)))
-        {
-            hddLog(LOG1, "%s: ACK_PENDING and But received RESP for Action frame ", 
-                    __func__);
-            hdd_sendActionCnf(pAdapter, TRUE);
-        }
     }
 
     //Indicate Frame Over Normal Interface