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