wlan: Adding MTRACE functionality to HDD
This fix will add MTRACE funcionality to HDD
Change-Id:Ica270091034f3373a786a52c35cd240110ee9823
CRs-Fixed: 594600
(cherry picked from commit c7437b7abe0b059f7b3a050c4cb4ca02f3240e30)
diff --git a/CORE/HDD/src/wlan_hdd_cfg80211.c b/CORE/HDD/src/wlan_hdd_cfg80211.c
index 62694e6..77bce68 100644
--- a/CORE/HDD/src/wlan_hdd_cfg80211.c
+++ b/CORE/HDD/src/wlan_hdd_cfg80211.c
@@ -81,6 +81,9 @@
#include "wlan_hdd_main.h"
#include "wlan_hdd_assoc.h"
#include "wlan_hdd_power.h"
+#include "wlan_hdd_trace.h"
+#include "vos_types.h"
+#include "vos_trace.h"
#ifdef WLAN_BTAMP_FEATURE
#include "bap_hdd_misc.h"
#endif
@@ -610,7 +613,6 @@
{
struct wiphy *wiphy;
ENTER();
-
/*
* Create wiphy device
*/
@@ -637,6 +639,7 @@
eNVChannelEnabledType channelEnabledState;
ENTER();
+
for (i = 0; i < IEEE80211_NUM_BANDS; i++)
{
@@ -1704,15 +1707,16 @@
enum nl80211_channel_type channel_type
)
{
+ hdd_adapter_t *pAdapter = NULL;
v_U32_t num_ch = 0;
int channel = 0;
- hdd_adapter_t *pAdapter = NULL;
int freq = chan->center_freq; /* freq is in MHZ */
hdd_context_t *pHddCtx;
int status;
ENTER();
+
if( NULL == dev )
{
hddLog(VOS_TRACE_LEVEL_ERROR,
@@ -1721,6 +1725,9 @@
}
pAdapter = WLAN_HDD_GET_PRIV_PTR( dev );
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_SET_CHANNEL, pAdapter->sessionId,
+ channel_type ));
hddLog(VOS_TRACE_LEVEL_INFO,
"%s: device_mode = %d freq = %d", __func__,
pAdapter->device_mode, chan->center_freq);
@@ -2256,7 +2263,6 @@
VOS_ASSERT(0);
}
- //Succesfully started Bss update the state bit.
set_bit(SOFTAP_BSS_STARTED, &pHostapdAdapter->event_flags);
#ifdef WLAN_FEATURE_P2P_DEBUG
@@ -2294,6 +2300,9 @@
ENTER();
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_ADD_BEACON,
+ pAdapter->sessionId, params->interval));
hddLog(VOS_TRACE_LEVEL_INFO_HIGH, "device mode=%d",pAdapter->device_mode);
pHddCtx = WLAN_HDD_GET_CTX(pAdapter);
@@ -2345,11 +2354,14 @@
struct beacon_parameters *params)
{
hdd_adapter_t *pAdapter = WLAN_HDD_GET_PRIV_PTR(dev);
+ hdd_station_ctx_t *pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter);
hdd_context_t *pHddCtx;
int status;
ENTER();
-
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_SET_BEACON,
+ pAdapter->sessionId, pHddStaCtx->conn_info.authType));
hddLog(VOS_TRACE_LEVEL_INFO, "%s: device_mode = %d",
__func__,pAdapter->device_mode);
@@ -2421,6 +2433,9 @@
return -ENODEV;
}
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_STOP_AP,
+ pAdapter->sessionId, pAdapter->device_mode));
pHddCtx = WLAN_HDD_GET_CTX(pAdapter);
status = wlan_hdd_validate_context(pHddCtx);
@@ -2510,8 +2525,8 @@
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
("ERROR: HDD vos wait for single_event failed!!"));
VOS_ASSERT(0);
- }
- }
+ }
+ }
clear_bit(SOFTAP_BSS_STARTED, &pAdapter->event_flags);
}
mutex_unlock(&pHddCtx->sap_lock);
@@ -2585,6 +2600,9 @@
return -ENODEV;
}
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_START_AP, pAdapter->sessionId,
+ params-> beacon_interval));
if (WLAN_HDD_ADAPTER_MAGIC != pAdapter->magic)
{
VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
@@ -2657,6 +2675,9 @@
ENTER();
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_CHANGE_BEACON,
+ pAdapter->sessionId, pAdapter->device_mode));
hddLog(VOS_TRACE_LEVEL_INFO, "%s: device_mode = %d",
__func__, pAdapter->device_mode);
@@ -2714,6 +2735,9 @@
ENTER();
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_CHANGE_BSS,
+ pAdapter->sessionId, params->ap_isolate));
hddLog(VOS_TRACE_LEVEL_INFO, "%s: device_mode = %d",
__func__,pAdapter->device_mode);
@@ -2767,7 +2791,7 @@
ENTER();
- if (!pAdapter)
+ if (!pAdapter)
{
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
"%s: Adapter context is null", __func__);
@@ -2782,6 +2806,9 @@
return VOS_STATUS_E_FAILURE;
}
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_CHANGE_IFACE,
+ pAdapter->sessionId, type));
status = wlan_hdd_validate_context(pHddCtx);
if (0 != status)
@@ -3392,6 +3419,9 @@
return -EINVAL;
}
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CHANGE_STATION,
+ pAdapter->sessionId, params->listen_interval));
pHddCtx = WLAN_HDD_GET_CTX(pAdapter);
pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter);
@@ -3570,6 +3600,9 @@
ENTER();
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_ADD_KEY,
+ pAdapter->sessionId, params->key_len));
pHddCtx = WLAN_HDD_GET_CTX(pAdapter);
status = wlan_hdd_validate_context(pHddCtx);
@@ -3932,6 +3965,9 @@
ENTER();
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_GET_KEY,
+ pAdapter->sessionId, params.cipher));
hddLog(VOS_TRACE_LEVEL_INFO, "%s: device_mode = %d",
__func__,pAdapter->device_mode);
@@ -4119,6 +4155,10 @@
return -EINVAL;
}
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_SET_DEFAULT_KEY,
+ pAdapter->sessionId, key_index));
+
pWextState = WLAN_HDD_GET_WEXT_STATE_PTR(pAdapter);
pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter);
@@ -4542,6 +4582,10 @@
ENTER();
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_UPDATE_BSS,
+ NO_SESSION, pAdapter->sessionId));
+
pHddCtx = WLAN_HDD_GET_CTX(pAdapter);
if (pHddCtx->isLogpInProgress)
@@ -5037,6 +5081,10 @@
ENTER();
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_SCAN,
+ pAdapter->sessionId, request->n_channels));
+
hddLog(VOS_TRACE_LEVEL_INFO, "%s: device_mode = %d",
__func__,pAdapter->device_mode);
@@ -6408,13 +6456,9 @@
ENTER();
- if (!pAdapter)
- {
- VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
- "%s: Adapter context is null", __func__);
- return VOS_STATUS_E_FAILURE;
- }
-
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_CONNECT,
+ pAdapter->sessionId, pAdapter->device_mode));
hddLog(VOS_TRACE_LEVEL_INFO,
"%s: device_mode = %d",__func__,pAdapter->device_mode);
@@ -6584,7 +6628,10 @@
ENTER();
- hddLog(VOS_TRACE_LEVEL_INFO, "%s: device_mode = %d",
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_DISCONNECT,
+ pAdapter->sessionId, reason));
+ hddLog(VOS_TRACE_LEVEL_INFO, "%s: device_mode = %d\n",
__func__,pAdapter->device_mode);
hddLog(VOS_TRACE_LEVEL_INFO, "%s: Disconnect called with reason code %d",
@@ -6790,6 +6837,9 @@
ENTER();
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_JOIN_IBSS,
+ pAdapter->sessionId, pAdapter->device_mode));
hddLog(VOS_TRACE_LEVEL_INFO,
"%s: device_mode = %d",__func__,pAdapter->device_mode);
@@ -6956,6 +7006,9 @@
ENTER();
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_LEAVE_IBSS,
+ pAdapter->sessionId, eCSR_DISCONNECT_REASON_IBSS_LEAVE));
status = wlan_hdd_validate_context(pHddCtx);
if (0 != status)
@@ -7004,7 +7057,9 @@
int status;
ENTER();
-
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_SET_WIPHY_PARAMS,
+ NO_SESSION, wiphy->rts_threshold));
status = wlan_hdd_validate_context(pHddCtx);
if (0 != status)
@@ -7142,7 +7197,9 @@
int status;
ENTER();
-
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_SET_TXPOWER,
+ NO_SESSION, type ));
status = wlan_hdd_validate_context(pHddCtx);
if (0 != status)
@@ -7635,6 +7692,9 @@
STATION_INFO_TX_RETRIES |
STATION_INFO_TX_FAILED;
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_GET_STA,
+ pAdapter->sessionId, maxRate));
EXIT();
return 0;
}
@@ -7655,6 +7715,10 @@
return -ENODEV;
}
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_SET_POWER_MGMT,
+ pAdapter->sessionId, timeout));
+
pHddCtx = WLAN_HDD_GET_CTX(pAdapter);
status = wlan_hdd_validate_context(pHddCtx);
@@ -7737,12 +7801,17 @@
v_U8_t staId;
ENTER();
+
if ( NULL == pAdapter )
{
hddLog(VOS_TRACE_LEVEL_ERROR, "%s: Invalid Adapter" ,__func__);
return -EINVAL;
}
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_DEL_STA,
+ pAdapter->sessionId, pAdapter->device_mode));
+
pHddCtx = WLAN_HDD_GET_CTX(pAdapter);
status = wlan_hdd_validate_context(pHddCtx);
@@ -7829,10 +7898,15 @@
static int wlan_hdd_cfg80211_add_station(struct wiphy *wiphy,
struct net_device *dev, u8 *mac, struct station_parameters *params)
{
+ hdd_adapter_t *pAdapter = WLAN_HDD_GET_PRIV_PTR(dev);
int status = -EPERM;
#ifdef FEATURE_WLAN_TDLS
u32 mask, set;
ENTER();
+
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_ADD_STA,
+ pAdapter->sessionId, params->listen_interval));
mask = params->sta_flags_mask;
set = params->sta_flags_set;
@@ -7870,7 +7944,6 @@
int status;
tANI_U8 BSSIDMatched = 0;
hdd_context_t *pHddCtx;
-
hddLog(VOS_TRACE_LEVEL_DEBUG, "%s: set PMKSA for " MAC_ADDRESS_STR,
__func__, MAC_ADDR_ARRAY(pmksa->bssid));
@@ -7944,6 +8017,9 @@
result = sme_RoamSetPMKIDCache(halHandle,pAdapter->sessionId,
PMKIDCache,
PMKIDCacheIndex);
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_SET_PMKSA,
+ pAdapter->sessionId, result));
return 0;
}
@@ -8129,6 +8205,9 @@
pHddStaCtx = WLAN_HDD_GET_STATION_CTX_PTR(pAdapter);
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_UPDATE_FT_IES,
+ pAdapter->sessionId, pHddStaCtx->conn_info.connState));
// Added for debug on reception of Re-assoc Req.
if (eConnectionState_Associated != pHddStaCtx->conn_info.connState)
{
@@ -8558,6 +8637,9 @@
int responder;
long rc;
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_TDLS_MGMT,
+ pAdapter->sessionId, action_code));
if (NULL == pHddCtx || NULL == pHddCtx->cfg_ini)
{
VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
@@ -8769,6 +8851,9 @@
int status;
hddTdlsPeer_t *pTdlsPeer;
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_TDLS_OPER,
+ pAdapter->sessionId, oper));
if ( NULL == peer )
{
VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
@@ -9113,6 +9198,7 @@
ENTER();
+
if (NULL == pAdapter)
{
VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_FATAL,
@@ -9120,6 +9206,10 @@
return -ENODEV;
}
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_SET_REKEY_DATA,
+ pAdapter->sessionId, pAdapter->device_mode));
+
result = wlan_hdd_validate_context(pHddCtx);
if (0 != result)
@@ -9477,7 +9567,6 @@
ENTER();
-
if (NULL == pAdapter)
{
VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_FATAL,
diff --git a/CORE/HDD/src/wlan_hdd_hostapd.c b/CORE/HDD/src/wlan_hdd_hostapd.c
index ba1a830..930bcd5 100644
--- a/CORE/HDD/src/wlan_hdd_hostapd.c
+++ b/CORE/HDD/src/wlan_hdd_hostapd.c
@@ -83,6 +83,9 @@
#ifdef FEATURE_WLAN_CH_AVOID
#include "wcnss_wlan.h"
#endif /* FEATURE_WLAN_CH_AVOID */
+#include "wlan_hdd_trace.h"
+#include "vos_types.h"
+#include "vos_trace.h"
#define IS_UP(_dev) \
(((_dev)->flags & (IFF_RUNNING|IFF_UP)) == (IFF_RUNNING|IFF_UP))
@@ -95,7 +98,7 @@
*/
#define WE_SAP_MAX_STA_INFO 0x7FF
-#define SAP_24GHZ_CH_COUNT (14)
+#define SAP_24GHZ_CH_COUNT (14)
#ifdef FEATURE_WLAN_CH_AVOID
/* Channle/Freqency table */
@@ -151,13 +154,13 @@
};
#endif /* FEATURE_WLAN_CH_AVOID */
-/*---------------------------------------------------------------------------
+/*---------------------------------------------------------------------------
* Function definitions
*-------------------------------------------------------------------------*/
/**---------------------------------------------------------------------------
-
+
\brief hdd_hostapd_open() - HDD Open function for hostapd interface
-
+
This is called in response to ifconfig up
\param - dev Pointer to net_device structure
@@ -169,6 +172,8 @@
{
ENTER();
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_HOSTAPD_OPEN_REQUEST, NO_SESSION, 0));
//Turn ON carrier state
netif_carrier_on(dev);
//Enable all Tx queues
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index b10f4e5..5cea9e8 100644
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -88,7 +88,9 @@
#include <bap_hdd_main.h>
#include <bapInternal.h>
#endif // WLAN_BTAMP_FEATURE
-
+#include "wlan_hdd_trace.h"
+#include "vos_types.h"
+#include "vos_trace.h"
#include <linux/wireless.h>
#include <net/cfg80211.h>
#include <linux/inetdevice.h>
@@ -1960,6 +1962,13 @@
if (strncmp(command, "P2P_DEV_ADDR", 12) == 0 )
{
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_P2P_DEV_ADDR_IOCTL,
+ pAdapter->sessionId, (unsigned)
+ (*(pHddCtx->p2pDeviceAddress.bytes+2)<<24 |
+ *(pHddCtx->p2pDeviceAddress.bytes+3)<<16 |
+ *(pHddCtx->p2pDeviceAddress.bytes+4)<<8 |
+ *(pHddCtx->p2pDeviceAddress.bytes+5))));
if (copy_to_user(priv_data.buf, pHddCtx->p2pDeviceAddress.bytes,
sizeof(tSirMacAddr)))
{
@@ -2042,6 +2051,9 @@
tANI_U8 *ptr = (tANI_U8*)command + 15;
suspend = *ptr - '0';
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_SETSUSPENDMODE_IOCTL,
+ pAdapter->sessionId, suspend));
hdd_set_wlan_suspend_mode(suspend);
}
#ifdef WLAN_FEATURE_NEIGHBOR_ROAMING
@@ -2084,6 +2096,9 @@
goto exit;
}
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_SETROAMTRIGGER_IOCTL,
+ pAdapter->sessionId, lookUpThreshold));
VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO,
"%s: Received Command to Set Roam trigger"
" (Neighbor lookup threshold) = %d", __func__, lookUpThreshold);
@@ -2107,7 +2122,9 @@
int rssi = (-1) * lookUpThreshold;
char extra[32];
tANI_U8 len = 0;
-
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_GETROAMTRIGGER_IOCTL,
+ pAdapter->sessionId, lookUpThreshold));
len = scnprintf(extra, sizeof(extra), "%s %d", command, rssi);
if (copy_to_user(priv_data.buf, &extra, len + 1))
{
@@ -2151,7 +2168,10 @@
(CFG_EMPTY_SCAN_REFRESH_PERIOD_MAX/1000));
ret = -EINVAL;
goto exit;
- }
+ }
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_SETROAMSCANPERIOD_IOCTL,
+ pAdapter->sessionId, roamScanPeriod));
neighborEmptyScanRefreshPeriod = roamScanPeriod * 1000;
VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO,
@@ -2167,6 +2187,9 @@
char extra[32];
tANI_U8 len = 0;
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_GETROAMSCANPERIOD_IOCTL,
+ pAdapter->sessionId, nEmptyScanRefreshPeriod));
len = scnprintf(extra, sizeof(extra), "%s %d",
"GETROAMSCANPERIOD", (nEmptyScanRefreshPeriod/1000));
/* Returned value is in units of seconds */
@@ -2364,6 +2387,9 @@
char extra[32];
tANI_U8 len = 0;
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_GETROAMDELTA_IOCTL,
+ pAdapter->sessionId, roamRssiDiff));
len = scnprintf(extra, sizeof(extra), "%s %d",
command, roamRssiDiff);
if (copy_to_user(priv_data.buf, &extra, len + 1))
@@ -2383,6 +2409,9 @@
tANI_U8 len = 0;
hdd_getBand_helper(pHddCtx, &band);
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_GETBAND_IOCTL,
+ pAdapter->sessionId, band));
len = scnprintf(extra, sizeof(extra), "%s %d", command, band);
if (copy_to_user(priv_data.buf, &extra, len + 1))
{
@@ -2408,6 +2437,9 @@
goto exit;
}
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_SETROAMSCANCHANNELS_IOCTL,
+ pAdapter->sessionId, numChannels));
if (numChannels > WNI_CFG_VALID_CHANNEL_LIST_LEN)
{
VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
@@ -2442,6 +2474,9 @@
ret = -EFAULT;
goto exit;
}
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_GETROAMSCANCHANNELS_IOCTL,
+ pAdapter->sessionId, numChannels));
/* output channel list is of the format
[Number of roam scan channels][Channel1][Channel2]... */
/* copy the number of channels in the 0th index */
@@ -2582,6 +2617,9 @@
goto exit;
}
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_SETROAMSCANCHANNELMINTIME_IOCTL,
+ pAdapter->sessionId, minTime));
VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO,
"%s: Received Command to change channel min time = %d", __func__, minTime);
@@ -2708,6 +2746,9 @@
/* value is interms of msec */
len = scnprintf(extra, sizeof(extra), "%s %d",
"GETROAMSCANCHANNELMINTIME", val);
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_GETROAMSCANCHANNELMINTIME_IOCTL,
+ pAdapter->sessionId, val));
if (copy_to_user(priv_data.buf, &extra, len + 1))
{
VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_ERROR,
@@ -3746,6 +3787,9 @@
}
#endif /* FEATURE_WLAN_CCX && FEATURE_WLAN_CCX_UPLOAD */
else {
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_UNSUPPORTED_IOCTL,
+ pAdapter->sessionId, 0));
hddLog( VOS_TRACE_LEVEL_WARN, "%s: Unsupported GUI command %s",
__func__, command);
}
@@ -4611,6 +4655,8 @@
}
pHddCtx = (hdd_context_t*)pAdapter->pHddCtx;
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD, TRACE_CODE_HDD_OPEN_REQUEST,
+ pAdapter->sessionId, pAdapter->device_mode));
if (NULL == pHddCtx)
{
VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_FATAL,
@@ -4692,14 +4738,14 @@
v_BOOL_t enter_standby = TRUE;
ENTER();
-
if (NULL == pAdapter)
{
VOS_TRACE( VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_FATAL,
"%s: pAdapter is Null", __func__);
return -ENODEV;
}
-
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD, TRACE_CODE_HDD_OPEN_REQUEST,
+ pAdapter->sessionId, pAdapter->device_mode));
pHddCtx = (hdd_context_t*)pAdapter->pHddCtx;
if (NULL == pHddCtx)
{
@@ -8717,6 +8763,7 @@
wake_lock_init(&wlan_wake_lock, WAKE_LOCK_SUSPEND, "wlan");
#endif
+ hddTraceInit();
pr_info("%s: loading driver v%s\n", WLAN_MODULE_NAME,
QWLAN_VERSIONSTR TIMER_MANAGER_STR MEMORY_DEBUG_STR);
diff --git a/CORE/HDD/src/wlan_hdd_p2p.c b/CORE/HDD/src/wlan_hdd_p2p.c
index a58ed13..c230be3 100644
--- a/CORE/HDD/src/wlan_hdd_p2p.c
+++ b/CORE/HDD/src/wlan_hdd_p2p.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2012-2014 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2012-2014, The Linux Foundation. All rights reserved.
*
* Previously licensed under the ISC license by Qualcomm Atheros, Inc.
*
@@ -44,7 +44,6 @@
#include "wlan_hdd_p2p.h"
#include "sapApi.h"
#include "wlan_hdd_main.h"
-
#include <linux/netdevice.h>
#include <linux/skbuff.h>
#include <linux/etherdevice.h>
@@ -52,7 +51,9 @@
#ifdef FEATURE_WLAN_TDLS
#include "wlan_hdd_tdls.h"
#endif
-
+#include "wlan_hdd_trace.h"
+#include "vos_types.h"
+#include "vos_trace.h"
//Ms to Micro Sec
#define MS_TO_MUS(x) ((x)*1000);
@@ -455,6 +456,11 @@
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0))
struct net_device *dev = wdev->netdev;
#endif
+ hdd_adapter_t *pAdapter = WLAN_HDD_GET_PRIV_PTR( dev );
+
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_REMAIN_ON_CHANNEL,
+ pAdapter->sessionId, REMAIN_ON_CHANNEL_REQUEST));
return wlan_hdd_request_remain_on_channel(wiphy, dev,
chan,
#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,8,0))
@@ -469,6 +475,10 @@
hdd_cfg80211_state_t *cfgState = WLAN_HDD_GET_CFG_STATE_PTR( pAdapter );
hdd_remain_on_chan_ctx_t* pRemainChanCtx = cfgState->remain_on_chan_ctx;
+ hddLog( LOG1, "Ready on chan ind");
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_REMAINCHANREADYHANDLER,
+ pAdapter->sessionId, pRemainChanCtx->duration));
if( pRemainChanCtx != NULL )
{
// Removing READY_EVENT_PROPOGATE_TIME from current time which gives
@@ -523,6 +533,12 @@
hdd_cfg80211_state_t *cfgState = WLAN_HDD_GET_CFG_STATE_PTR( pAdapter );
hdd_context_t *pHddCtx = WLAN_HDD_GET_CTX( pAdapter );
int status;
+ u64 cookie_dummy;
+ cookie_dummy = cookie << 32;
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_CFG80211_CANCEL_REMAIN_ON_CHANNEL,
+ pAdapter->sessionId, cookie_dummy));
+ hddLog( LOG1, "Cancel remain on channel req");
status = wlan_hdd_validate_context(pHddCtx);
@@ -652,6 +668,9 @@
#endif
u64 old_cookie = 0;
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_ACTION, pAdapter->sessionId,
+ pAdapter->device_mode ));
status = wlan_hdd_validate_context(pHddCtx);
if (0 != status)
@@ -996,6 +1015,10 @@
struct wireless_dev *wdev,
u64 cookie)
{
+ u64 cookie_dummy;
+ cookie_dummy = cookie << 32;
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_MGMT_TX_CANCEL_WAIT, NO_SESSION, cookie_dummy));
return wlan_hdd_cfg80211_cancel_remain_on_channel( wiphy, wdev, cookie );
}
#else
@@ -1003,6 +1026,12 @@
struct net_device *dev,
u64 cookie)
{
+ u64 cookie_dummy;
+ hdd_adapter_t *pAdapter = WLAN_HDD_GET_PRIV_PTR( dev );
+ cookie_dummy = cookie << 32;
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_MGMT_TX_CANCEL_WAIT,
+ pAdapter->sessionId, cookie_dummy));
return wlan_hdd_cfg80211_cancel_remain_on_channel( wiphy, dev, cookie );
}
#endif
@@ -1350,10 +1379,11 @@
#endif
{
hdd_context_t *pHddCtx = (hdd_context_t*) wiphy_priv(wiphy);
- hdd_adapter_t* pAdapter = NULL;
-
+ hdd_adapter_t *pAdapter = NULL;
ENTER();
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_ADD_VIRTUAL_INTF, NO_SESSION, type));
if(hdd_get_adapter(pHddCtx, wlan_hdd_get_session_type(type)) != NULL)
{
hddLog(VOS_TRACE_LEVEL_ERROR,"%s: Interface type %d already exists. Two"
@@ -1420,10 +1450,14 @@
struct net_device *dev = wdev->netdev;
#endif
hdd_context_t *pHddCtx = (hdd_context_t*) wiphy_priv(wiphy);
+ hdd_adapter_t *pAdapter = WLAN_HDD_GET_PRIV_PTR( dev );
hdd_adapter_t *pVirtAdapter = WLAN_HDD_GET_PRIV_PTR(dev);
int status;
ENTER();
+ MTRACE(vos_trace(VOS_MODULE_ID_HDD,
+ TRACE_CODE_HDD_DEL_VIRTUAL_INTF,
+ pAdapter->sessionId, pAdapter->device_mode));
hddLog(VOS_TRACE_LEVEL_INFO, "%s: device_mode = %d",
__func__,pVirtAdapter->device_mode);
diff --git a/Kbuild b/Kbuild
index 1afd1eb..79046b0 100644
--- a/Kbuild
+++ b/Kbuild
@@ -137,6 +137,7 @@
$(HDD_SRC_DIR)/wlan_hdd_scan.o \
$(HDD_SRC_DIR)/wlan_hdd_softap_tx_rx.o \
$(HDD_SRC_DIR)/wlan_hdd_tx_rx.o \
+ $(HDD_SRC_DIR)/wlan_hdd_trace.o \
$(HDD_SRC_DIR)/wlan_hdd_wext.o \
$(HDD_SRC_DIR)/wlan_hdd_wmm.o \
$(HDD_SRC_DIR)/wlan_hdd_wowl.o
diff --git a/prima/CORE/HDD/inc/wlan_hdd_trace.h b/prima/CORE/HDD/inc/wlan_hdd_trace.h
new file mode 100644
index 0000000..b0c26e0
--- /dev/null
+++ b/prima/CORE/HDD/inc/wlan_hdd_trace.h
@@ -0,0 +1,86 @@
+/**=========================================================================
+ \file wlan_hdd_trace.h
+ Copyright 2014 (c) Qualcomm Technologies, Inc. All Rights Reserved.
+ Qualcomm Technologies Confidential and Proprietary.
+ ========================================================================*/
+
+#ifndef __WLAN_HDD_TRACE_H__
+#define __WLAN_HDD_TRACE_H__
+
+#include "macTrace.h"
+
+#define NO_SESSION 0xFF
+
+enum
+{
+ TRACE_CODE_HDD_OPEN_REQUEST,
+ TRACE_CODE_HDD_STOP_REQUEST,
+ TRACE_CODE_HDD_TX_TIMEOUT,
+ TRACE_CODE_HDD_P2P_DEV_ADDR_IOCTL,
+ TRACE_CODE_HDD_SETSUSPENDMODE_IOCTL,
+ TRACE_CODE_HDD_SETROAMTRIGGER_IOCTL,
+ TRACE_CODE_HDD_GETROAMTRIGGER_IOCTL,
+ TRACE_CODE_HDD_SETROAMSCANPERIOD_IOCTL,
+ TRACE_CODE_HDD_GETROAMSCANPERIOD_IOCTL,
+ TRACE_CODE_HDD_SETROAMDELTA_IOCTL,
+ TRACE_CODE_HDD_GETROAMDELTA_IOCTL,
+ TRACE_CODE_HDD_GETBAND_IOCTL,
+ TRACE_CODE_HDD_GETCOUNTRYREV_IOCTL,
+ TRACE_CODE_HDD_SETROAMSCANCHANNELS_IOCTL,
+ TRACE_CODE_HDD_GETROAMSCANCHANNELS_IOCTL,
+ TRACE_CODE_HDD_HOSTAPD_OPEN_REQUEST,
+ TRACE_CODE_HDD_HOSTAPD_STOP_REQUEST,
+ TRACE_CODE_HDD_HOSTAPD_UNINIT_REQUEST,
+ TRACE_CODE_HDD_SOFTAP_TX_TIMEOUT,
+ TRACE_CODE_HDD_HOSTAPD_SET_MAC_ADDR,
+ TRACE_CODE_HDD_HOSTAPD_P2P_SET_NOA_IOCTL,
+ TRACE_CODE_HDD_HOSTAPD_P2P_SET_PS_IOCTL,
+ TRACE_CODE_HDD_HOSTAPD_SET_SAP_CHANNEL_LIST_IOCTL,
+ TRACE_CODE_HDD_ADD_VIRTUAL_INTF,
+ TRACE_CODE_HDD_DEL_VIRTUAL_INTF,
+ TRACE_CODE_HDD_CHANGE_VIRTUAL_INTF,
+ TRACE_CODE_HDD_CFG80211_START_AP,
+ TRACE_CODE_HDD_CFG80211_CHANGE_BEACON,
+ TRACE_CODE_HDD_CFG80211_STOP_AP,
+ TRACE_CODE_HDD_CFG80211_CHANGE_BSS,
+ TRACE_CODE_HDD_CFG80211_ADD_KEY,
+ TRACE_CODE_HDD_CFG80211_GET_KEY,
+ TRACE_CODE_HDD_CFG80211_SET_DEFAULT_KEY,
+ TRACE_CODE_HDD_CFG80211_CONNECT,
+ TRACE_CODE_HDD_CFG80211_DISCONNECT,
+ TRACE_CODE_HDD_CFG80211_JOIN_IBSS,
+ TRACE_CODE_HDD_CFG80211_LEAVE_IBSS,
+ TRACE_CODE_HDD_CFG80211_SET_WIPHY_PARAMS,
+ TRACE_CODE_HDD_CFG80211_SET_TXPOWER,
+ TRACE_CODE_HDD_CFG80211_GET_TXPOWER,
+ TRACE_CODE_HDD_CFG80211_SET_CHANNEL,
+ TRACE_CODE_HDD_CFG80211_ADD_BEACON,
+ TRACE_CODE_HDD_CFG80211_SET_BEACON,
+ TRACE_CODE_HDD_CFG80211_CHANGE_IFACE,
+ TRACE_CODE_HDD_CHANGE_STATION,
+ TRACE_CODE_HDD_CFG80211_UPDATE_BSS,
+ TRACE_CODE_HDD_CFG80211_SCAN,
+ TRACE_CODE_HDD_REMAIN_ON_CHANNEL,
+ TRACE_CODE_HDD_REMAINCHANREADYHANDLER,
+ TRACE_CODE_HDD_CFG80211_CANCEL_REMAIN_ON_CHANNEL,
+ TRACE_CODE_HDD_ACTION,
+ TRACE_CODE_HDD_MGMT_TX_CANCEL_WAIT,
+ TRACE_CODE_HDD_CFG80211_GET_STA,
+ TRACE_CODE_HDD_CFG80211_SET_POWER_MGMT,
+ TRACE_CODE_HDD_CFG80211_DEL_STA,
+ TRACE_CODE_HDD_CFG80211_ADD_STA,
+ TRACE_CODE_HDD_CFG80211_SET_PMKSA,
+ TRACE_CODE_HDD_CFG80211_UPDATE_FT_IES,
+ TRACE_CODE_HDD_CFG80211_TDLS_MGMT,
+ TRACE_CODE_HDD_CFG80211_TDLS_OPER,
+ TRACE_CODE_HDD_CFG80211_SET_REKEY_DATA,
+ TRACE_CODE_HDD_UNSUPPORTED_IOCTL,
+ TRACE_CODE_HDD_SETROAMSCANCHANNELMINTIME_IOCTL,
+ TRACE_CODE_HDD_GETROAMSCANCHANNELMINTIME_IOCTL
+};
+
+extern void hddTraceDump(void *pMac, tpvosTraceRecord pRecord, tANI_U16 recIndex);
+extern void hddTraceInit(void);
+#endif
+
+
diff --git a/prima/CORE/HDD/src/wlan_hdd_trace.c b/prima/CORE/HDD/src/wlan_hdd_trace.c
new file mode 100644
index 0000000..433bbbb
--- /dev/null
+++ b/prima/CORE/HDD/src/wlan_hdd_trace.c
@@ -0,0 +1,92 @@
+/*========================================================================
+ \file wlan_hdd_trace.c
+
+ \brief WLAN Host Device Driver trace implementation
+
+ Copyright 2014 (c) Qualcomm Technologies, Inc. All Rights Reserved.
+
+ Qualcomm Technologies Confidential and Proprietary.
+
+ ========================================================================*/
+
+#include "vos_trace.h"
+#include "vos_types.h"
+#include "wlan_hdd_trace.h"
+#include "wlan_hdd_main.h"
+
+static tANI_U8* hddTraceGetEventString(tANI_U32 code)
+{
+ switch(code)
+ {
+ CASE_RETURN_STRING(TRACE_CODE_HDD_OPEN_REQUEST);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_STOP_REQUEST);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_TX_TIMEOUT);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_P2P_DEV_ADDR_IOCTL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_SETSUSPENDMODE_IOCTL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_SETROAMTRIGGER_IOCTL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_GETROAMTRIGGER_IOCTL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_SETROAMSCANPERIOD_IOCTL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_GETROAMSCANPERIOD_IOCTL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_SETROAMDELTA_IOCTL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_GETROAMDELTA_IOCTL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_GETBAND_IOCTL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_GETCOUNTRYREV_IOCTL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_SETROAMSCANCHANNELS_IOCTL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_GETROAMSCANCHANNELS_IOCTL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_HOSTAPD_OPEN_REQUEST);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_HOSTAPD_STOP_REQUEST);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_HOSTAPD_UNINIT_REQUEST);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_SOFTAP_TX_TIMEOUT);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_HOSTAPD_SET_MAC_ADDR);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_HOSTAPD_P2P_SET_NOA_IOCTL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_HOSTAPD_P2P_SET_PS_IOCTL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_HOSTAPD_SET_SAP_CHANNEL_LIST_IOCTL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_ADD_VIRTUAL_INTF);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_DEL_VIRTUAL_INTF);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CHANGE_VIRTUAL_INTF);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_START_AP);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_CHANGE_BEACON);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_STOP_AP);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_CHANGE_BSS);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_ADD_KEY);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_GET_KEY );
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_SET_DEFAULT_KEY);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_CONNECT);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_DISCONNECT);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_JOIN_IBSS);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_LEAVE_IBSS);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_SET_WIPHY_PARAMS);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_SET_TXPOWER);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_GET_TXPOWER);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_REMAIN_ON_CHANNEL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_REMAINCHANREADYHANDLER);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_CANCEL_REMAIN_ON_CHANNEL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_ACTION);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_MGMT_TX_CANCEL_WAIT);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_GET_STA);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_SET_POWER_MGMT);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_DEL_STA);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_ADD_STA);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_SET_PMKSA);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_UPDATE_FT_IES);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_CFG80211_TDLS_MGMT);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_UNSUPPORTED_IOCTL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_SETROAMSCANCHANNELMINTIME_IOCTL);
+ CASE_RETURN_STRING(TRACE_CODE_HDD_GETROAMSCANCHANNELMINTIME_IOCTL);
+ default:
+ return ("UNKNOWN");
+ break;
+ }
+}
+
+void hddTraceDump(void *pMac, tpvosTraceRecord pRecord, tANI_U16 recIndex)
+{
+ hddLog(LOGE, "%04d %012u S%d %-14s %-30s(0x%x) ",
+ recIndex, pRecord->time, pRecord->session,
+ "HDD Event:", hddTraceGetEventString(pRecord->code), pRecord->data);
+}
+
+void hddTraceInit()
+{
+ vosTraceRegister(VOS_MODULE_ID_HDD, (tpvosTraceCb)&hddTraceDump);
+}