diff --git a/Kbuild b/Kbuild index bc4354965001..a223f8a2ccaf 100644 --- a/Kbuild +++ b/Kbuild @@ -408,6 +408,9 @@ CONFIG_FEATURE_STATS_EXT := 1 #Flag to enable HTC credit history feature CONFIG_FEATURE_HTC_CREDIT_HISTORY := 1 +#Flag to enable MTRACE feature +CONFIG_TRACE_RECORD_FEATURE := 1 + ifeq ($(CONFIG_CFG80211),y) HAVE_CFG80211 := 1 else @@ -1929,12 +1932,14 @@ endif ifeq ($(BUILD_DEBUG_VERSION),1) CDEFINES += -DWLAN_DEBUG \ - -DTRACE_RECORD \ - -DLIM_TRACE_RECORD \ - -DSME_TRACE_RECORD \ - -DHDD_TRACE_RECORD \ -DPE_DEBUG_LOGW \ -DPE_DEBUG_LOGE +ifeq ($(CONFIG_TRACE_RECORD_FEATURE),1) +CDEFINES += -DTRACE_RECORD \ + -DLIM_TRACE_RECORD \ + -DSME_TRACE_RECORD \ + -DHDD_TRACE_RECORD +endif endif ifeq ($(CONFIG_FEATURE_UNIT_TEST_SUSPEND), 1) diff --git a/core/cds/src/cds_api.c b/core/cds/src/cds_api.c index a06d64565ded..0630efafc2bf 100644 --- a/core/cds/src/cds_api.c +++ b/core/cds/src/cds_api.c @@ -183,10 +183,8 @@ QDF_STATUS cds_init(void) qdf_mem_zero(&g_qdf_ctx, sizeof(g_qdf_ctx)); qdf_trace_spin_lock_init(); - -#if defined(TRACE_RECORD) qdf_trace_init(); -#endif + qdf_register_debugcb_init(); cds_ssr_protect_init(); diff --git a/core/hdd/src/wlan_hdd_wext.c b/core/hdd/src/wlan_hdd_wext.c index 2c0a596a06fe..12cdd454badd 100644 --- a/core/hdd/src/wlan_hdd_wext.c +++ b/core/hdd/src/wlan_hdd_wext.c @@ -11791,6 +11791,7 @@ static const struct iw_priv_args we_private_args[] = { 0, "ibssPeerInfo"}, +#ifdef TRACE_RECORD /* handlers for sub-ioctl */ {WE_MTRACE_SELECTIVE_MODULE_LOG_ENABLE_CMD, IW_PRIV_TYPE_INT | MAX_VAR_ARGS, @@ -11801,6 +11802,7 @@ static const struct iw_priv_args we_private_args[] = { IW_PRIV_TYPE_INT | MAX_VAR_ARGS, 0, "dumplog"}, +#endif {WE_POLICY_MANAGER_CINFO_CMD, IW_PRIV_TYPE_INT | MAX_VAR_ARGS, diff --git a/core/mac/inc/mac_trace.h b/core/mac/inc/mac_trace.h index 919b0f5bf96b..ae31285e20b3 100644 --- a/core/mac/inc/mac_trace.h +++ b/core/mac/inc/mac_trace.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2013-2016, 2018 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -40,11 +40,11 @@ #include "ani_global.h" -#ifdef TRACE_RECORD - #define MAC_TRACE_GET_MODULE_ID(data) ((data >> 8) & 0xff) #define MAC_TRACE_GET_MSG_ID(data) (data & 0xffff) +#ifdef TRACE_RECORD + #define eLOG_NODROP_MISSED_BEACON_SCENARIO 0 #define eLOG_PROC_DEAUTH_FRAME_SCENARIO 1 @@ -54,19 +54,17 @@ void mac_trace_new(tpAniSirGlobal pMac, uint8_t module, uint8_t code, uint16_t session, uint32_t data); uint8_t *mac_trace_get_cfg_msg_string(uint16_t cfgMsg); uint8_t *mac_trace_get_lim_msg_string(uint16_t limMsg); -uint8_t *mac_trace_get_wma_msg_string(uint16_t wmaMsg); uint8_t *mac_trace_get_sme_msg_string(uint16_t smeMsg); uint8_t *mac_trace_get_info_log_string(uint16_t infoLog); + +#endif +uint8_t *mac_trace_get_wma_msg_string(uint16_t wmaMsg); QDF_STATUS pe_acquire_global_lock(tAniSirLim *psPe); QDF_STATUS pe_release_global_lock(tAniSirLim *psPe); - uint8_t *mac_trace_get_neighbour_roam_state(uint16_t neighbourRoamState); uint8_t *mac_trace_getcsr_roam_state(uint16_t csr_roamState); uint8_t *mac_trace_getcsr_roam_sub_state(uint16_t csr_roamSubState); uint8_t *mac_trace_get_lim_sme_state(uint16_t limState); uint8_t *mac_trace_get_lim_mlm_state(uint16_t mlmState); -uint8_t *mac_trace_get_tl_state(uint16_t tlState); - -#endif #endif diff --git a/core/mac/src/pe/lim/lim_process_beacon_frame.c b/core/mac/src/pe/lim/lim_process_beacon_frame.c index b4d2dd4cffaa..4af44066a2dd 100644 --- a/core/mac/src/pe/lim/lim_process_beacon_frame.c +++ b/core/mac/src/pe/lim/lim_process_beacon_frame.c @@ -116,9 +116,9 @@ lim_process_beacon_frame(tpAniSirGlobal mac_ctx, uint8_t *rx_pkt_info, session->currentBssBeaconCnt++; } MTRACE(mac_trace(mac_ctx, - TRACE_CODE_RX_MGMT_TSF, 0, bcn_ptr->timeStamp[0]);) + TRACE_CODE_RX_MGMT_TSF, 0, bcn_ptr->timeStamp[0])); MTRACE(mac_trace(mac_ctx, TRACE_CODE_RX_MGMT_TSF, 0, - bcn_ptr->timeStamp[1]);) + bcn_ptr->timeStamp[1])); if ((mac_ctx->lim.gLimMlmState == eLIM_MLM_WT_PROBE_RESP_STATE) || diff --git a/core/mac/src/pe/lim/lim_process_message_queue.c b/core/mac/src/pe/lim/lim_process_message_queue.c index 3ba58e6c9761..091e425bd879 100644 --- a/core/mac/src/pe/lim/lim_process_message_queue.c +++ b/core/mac/src/pe/lim/lim_process_message_queue.c @@ -769,15 +769,13 @@ uint32_t lim_defer_msg(tpAniSirGlobal pMac, struct scheduler_msg *pMsg) if (retCode == TX_SUCCESS) { MTRACE(mac_trace_msg_rx - (pMac, NO_SESSION, - LIM_TRACE_MAKE_RXMSG(pMsg->type, LIM_MSG_DEFERRED)); - ) + (pMac, NO_SESSION, + LIM_TRACE_MAKE_RXMSG(pMsg->type, LIM_MSG_DEFERRED))); } else { pe_err("Dropped lim message (0x%X) Message %s", pMsg->type, lim_msg_str(pMsg->type)); MTRACE(mac_trace_msg_rx - (pMac, NO_SESSION, - LIM_TRACE_MAKE_RXMSG(pMsg->type, LIM_MSG_DROPPED)); - ) + (pMac, NO_SESSION, + LIM_TRACE_MAKE_RXMSG(pMsg->type, LIM_MSG_DROPPED))); } return retCode; @@ -1336,7 +1334,7 @@ static void lim_process_messages(tpAniSirGlobal mac_ctx, msg->type != WMA_RX_SCAN_EVENT) MTRACE(mac_trace_msg_rx(mac_ctx, NO_SESSION, LIM_TRACE_MAKE_RXMSG(msg->type, - LIM_MSG_PROCESSED));) + LIM_MSG_PROCESSED))); } switch (msg->type) { diff --git a/core/mac/src/pe/lim/lim_send_management_frames.c b/core/mac/src/pe/lim/lim_send_management_frames.c index 9e75984e2e0e..dde0966305ce 100644 --- a/core/mac/src/pe/lim/lim_send_management_frames.c +++ b/core/mac/src/pe/lim/lim_send_management_frames.c @@ -4911,8 +4911,8 @@ static void lim_tx_mgmt_frame(tpAniSirGlobal mac_ctx, MTRACE(qdf_trace(QDF_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, session->peSessionId, qdf_status)); if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { - pe_err("*** Could not send Auth frame, retCode=%X ***", - qdf_status); + pe_err("*** Could not send Auth frame (subType: %d), retCode=%X ***", + fc->subType, qdf_status); mac_ctx->auth_ack_status = LIM_AUTH_ACK_RCD_FAILURE; auth_ack_status = SENT_FAIL; lim_diag_event_report(mac_ctx, WLAN_PE_DIAG_AUTH_ACK_EVENT, diff --git a/core/mac/src/pe/sch/sch_beacon_process.c b/core/mac/src/pe/sch/sch_beacon_process.c index ae62a4e4618c..ee161f338c32 100644 --- a/core/mac/src/pe/sch/sch_beacon_process.c +++ b/core/mac/src/pe/sch/sch_beacon_process.c @@ -389,9 +389,9 @@ sch_bcn_process_sta(tpAniSirGlobal mac_ctx, session); } MTRACE(mac_trace(mac_ctx, TRACE_CODE_RX_MGMT_TSF, - session->peSessionId, bcn->timeStamp[0]);) + session->peSessionId, bcn->timeStamp[0])); MTRACE(mac_trace(mac_ctx, TRACE_CODE_RX_MGMT_TSF, - session->peSessionId, bcn->timeStamp[1]);) + session->peSessionId, bcn->timeStamp[1])); /* Read beacon interval session Entry */ bi = session->beaconParams.beaconInterval; diff --git a/core/mac/src/sys/legacy/src/system/src/sys_entry_func.c b/core/mac/src/sys/legacy/src/system/src/sys_entry_func.c index 1fd1b9adc18e..bb2bff69b6c0 100644 --- a/core/mac/src/sys/legacy/src/system/src/sys_entry_func.c +++ b/core/mac/src/sys/legacy/src/system/src/sys_entry_func.c @@ -137,7 +137,7 @@ sys_bbt_process_message_core(tpAniSirGlobal mac_ctx, struct scheduler_msg *msg, subtype, dropreason); MTRACE(mac_trace(mac_ctx, TRACE_CODE_RX_MGMT_DROP, NO_SESSION, - dropreason);) + dropreason)); goto fail; } diff --git a/core/mac/src/sys/legacy/src/utils/src/mac_trace.c b/core/mac/src/sys/legacy/src/utils/src/mac_trace.c index 2e698038fee7..4915bf7749fa 100644 --- a/core/mac/src/sys/legacy/src/utils/src/mac_trace.c +++ b/core/mac/src/sys/legacy/src/utils/src/mac_trace.c @@ -49,7 +49,6 @@ #include "qdf_trace.h" #include "wma_if.h" -#ifdef TRACE_RECORD /** * mac_trace_get_neighbour_roam_state() - Get the neighbor roam state * @neighbourroamstate: State in numeric form @@ -218,6 +217,7 @@ uint8_t *mac_trace_get_lim_mlm_state(uint16_t mlm_state) } } +#ifdef TRACE_RECORD /** * mac_trace_get_sme_msg_string() - Get the msg * @sme_msg: message type in numeric form @@ -395,6 +395,7 @@ uint8_t *mac_trace_get_sme_msg_string(uint16_t sme_msg) break; } } +#endif /** * mac_trace_get_wma_msg_string() - Get the msg @@ -673,6 +674,7 @@ uint8_t *mac_trace_get_wma_msg_string(uint16_t wma_msg) } } +#ifdef TRACE_RECORD /** * mac_trace_get_lim_msg_string() - Get the msg * @lim_msg: message type in numeric form