瀏覽代碼

qcacld-3.0: Add missing MTRACE logs in SME

qcacld-2.0 to qcacld-3.0 propagation

MTRACE logs are not present in SME, for messages tx/rx WMA.
So add missing MTRACE logs in SME before transmitting and
after receiving messages to/from WMA.

Change-Id: Iac45ffc1736eecc40e203174888e296767b50a0d
CRs-Fixed: 855871
Sreelakshmi Konamki 9 年之前
父節點
當前提交
6a06536e7f

+ 10 - 0
core/mac/src/sys/legacy/src/utils/src/mac_trace.c

@@ -314,6 +314,13 @@ uint8_t *mac_trace_get_sme_msg_string(uint16_t sme_msg)
 #ifdef WLAN_FEATURE_GTK_OFFLOAD
 		CASE_RETURN_STRING(eWNI_PMC_GTK_OFFLOAD_GETINFO_RSP);
 #endif /* WLAN_FEATURE_GTK_OFFLOAD */
+		CASE_RETURN_STRING(eWNI_SME_ROAM_SCAN_OFFLOAD_RSP);
+#ifdef FEATURE_WLAN_LPHB
+		CASE_RETURN_STRING(eWNI_SME_LPHB_IND);
+#endif /* FEATURE_WLAN_LPHB */
+#ifdef FEATURE_WLAN_CH_AVOID
+		CASE_RETURN_STRING(eWNI_SME_CH_AVOID_IND);
+#endif /* FEATURE_WLAN_CH_AVOID */
 		CASE_RETURN_STRING(eWNI_SME_MSG_TYPES_END);
 		CASE_RETURN_STRING(eWNI_SME_GET_TSM_STATS_REQ);
 		CASE_RETURN_STRING(eWNI_SME_GET_TSM_STATS_RSP);
@@ -321,6 +328,9 @@ uint8_t *mac_trace_get_sme_msg_string(uint16_t sme_msg)
 		CASE_RETURN_STRING(eWNI_SME_SET_HW_MODE_RESP);
 		CASE_RETURN_STRING(eWNI_SME_HW_MODE_TRANS_IND);
 		CASE_RETURN_STRING(eWNI_SME_REGISTER_MGMT_FRAME_CB);
+#ifdef WLAN_FEATURE_NAN
+		CASE_RETURN_STRING(eWNI_SME_NAN_EVENT);
+#endif
 	default:
 		return (uint8_t *) "UNKNOWN";
 		break;

+ 20 - 3
core/sme/inc/sme_trace.h

@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013-2015 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2013-2016 The Linux Foundation. All rights reserved.
  *
  * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
  *
@@ -37,9 +37,26 @@
 #include "mac_trace.h"
 
 #define NO_SESSION 0xFF
-#define TRACE_CODE_SME_COMMAND 0xFF
+/**
+ * enum sme_trace_code
+ *
+ * SME commands for MTRACE logs
+ *
+ * @TRACE_CODE_SME_COMMAND: sme commands
+ * @TRACE_CODE_SME_TX_WMA_MSG: commands tx to WDA
+ * @TRACE_CODE_SME_RX_WMA_MSG: commands rx from WDA
+ */
+enum sme_trace_code {
+	TRACE_CODE_SME_COMMAND,
+	TRACE_CODE_SME_TX_WMA_MSG,
+	TRACE_CODE_SME_RX_WMA_MSG,
+};
 enum {
-	TRACE_CODE_SME_RX_HDD_MSG_SCAN_REQ,
+	/*
+	 * Starts enums from 3 onwards, because unknown code captures for first
+	 * three enums in smeTraceDump()
+	 */
+	TRACE_CODE_SME_RX_HDD_MSG_SCAN_REQ = 3,
 	TRACE_CODE_SME_RX_HDD_MSG_SCAN_GET_RESULTS,
 	TRACE_CODE_SME_RX_HDD_MSG_CONNECT,
 	TRACE_CODE_SME_RX_HDD_MSG_SET_11DINFO,

+ 66 - 6
core/sme/src/common/sme_api.c

@@ -2571,6 +2571,8 @@ QDF_STATUS sme_process_msg(tHalHandle hHal, cds_msg_t *pMsg)
 		break;
 #ifdef FEATURE_WLAN_SCAN_PNO
 	case eWNI_SME_PREF_NETWORK_FOUND_IND:
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_RX_WMA_MSG,
+				 NO_SESSION, pMsg->type));
 		if (pMsg->bodyptr) {
 			status = sme_preferred_network_found_ind((void *)pMac,
 								 pMsg->bodyptr);
@@ -2673,6 +2675,8 @@ QDF_STATUS sme_process_msg(tHalHandle hHal, cds_msg_t *pMsg)
 		break;
 #ifdef WLAN_FEATURE_GTK_OFFLOAD
 	case eWNI_PMC_GTK_OFFLOAD_GETINFO_RSP:
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_RX_WMA_MSG,
+				 NO_SESSION, pMsg->type));
 		if (pMsg->bodyptr) {
 			sme_process_get_gtk_info_rsp(pMac, pMsg->bodyptr);
 			qdf_mem_free(pMsg->bodyptr);
@@ -2685,6 +2689,8 @@ QDF_STATUS sme_process_msg(tHalHandle hHal, cds_msg_t *pMsg)
 #ifdef FEATURE_WLAN_LPHB
 	/* LPHB timeout indication arrived, send IND to client */
 	case eWNI_SME_LPHB_IND:
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_RX_WMA_MSG,
+				 NO_SESSION, pMsg->type));
 		if (pMac->sme.pLphbIndCb)
 			pMac->sme.pLphbIndCb(pMac->hHdd, pMsg->bodyptr);
 		qdf_mem_free(pMsg->bodyptr);
@@ -2724,6 +2730,8 @@ QDF_STATUS sme_process_msg(tHalHandle hHal, cds_msg_t *pMsg)
 #ifdef FEATURE_WLAN_CH_AVOID
 	/* channel avoid message arrived, send IND to client */
 	case eWNI_SME_CH_AVOID_IND:
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_RX_WMA_MSG,
+				 NO_SESSION, pMsg->type));
 		if (pMac->sme.pChAvoidNotificationCb) {
 			QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_INFO,
 				  FL("CH avoid notification"));
@@ -2793,6 +2801,8 @@ QDF_STATUS sme_process_msg(tHalHandle hHal, cds_msg_t *pMsg)
 		break;
 #ifdef WLAN_FEATURE_NAN
 	case eWNI_SME_NAN_EVENT:
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_RX_WMA_MSG,
+				 NO_SESSION, pMsg->type));
 		if (pMsg->bodyptr) {
 			sme_nan_event(hHal, pMsg->bodyptr);
 			qdf_mem_free(pMsg->bodyptr);
@@ -5572,7 +5582,8 @@ QDF_STATUS sme_dhcp_start_ind(tHalHandle hHal,
 		cds_message.type = WMA_DHCP_START_IND;
 		cds_message.bodyptr = pMsg;
 		cds_message.reserved = 0;
-
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 sessionId, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 			QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
@@ -5643,7 +5654,8 @@ QDF_STATUS sme_dhcp_stop_ind(tHalHandle hHal,
 		cds_message.type = WMA_DHCP_STOP_IND;
 		cds_message.bodyptr = pMsg;
 		cds_message.reserved = 0;
-
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 sessionId, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 			QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
@@ -6254,6 +6266,8 @@ QDF_STATUS sme_set_gtk_offload(tHalHandle hHal,
 	msg.type = WMA_GTK_OFFLOAD_REQ;
 	msg.reserved = 0;
 	msg.bodyptr = request_buf;
+	MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+			 sessionId, msg.type));
 	if (!QDF_IS_STATUS_SUCCESS
 		    (cds_mq_post_message(QDF_MODULE_ID_WMA, &msg))) {
 		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
@@ -6320,7 +6334,8 @@ QDF_STATUS sme_get_gtk_offload(tHalHandle hHal,
 
 	pMac->sme.gtk_offload_get_info_cb = callback_routine;
 	pMac->sme.gtk_offload_get_info_cb_context = callback_context;
-
+	MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+			 session_id, msg.type));
 	if (!QDF_IS_STATUS_SUCCESS
 		    (cds_mq_post_message(QDF_MODULE_ID_WMA, &msg))) {
 		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
@@ -6374,6 +6389,8 @@ QDF_STATUS sme_set_keep_alive(tHalHandle hHal, uint8_t session_id,
 	msg.type = WMA_SET_KEEP_ALIVE;
 	msg.reserved = 0;
 	msg.bodyptr = request_buf;
+	MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+			 session_id, msg.type));
 	if (QDF_STATUS_SUCCESS !=
 			cds_mq_post_message(QDF_MODULE_ID_WMA, &msg)) {
 		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
@@ -6896,6 +6913,8 @@ QDF_STATUS sme_configure_rxp_filter(tHalHandle hHal,
 		/* serialize the req through MC thread */
 		cds_message.bodyptr = wlanRxpFilterParam;
 		cds_message.type = WMA_CFG_RXP_FILTER_REQ;
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 NO_SESSION, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 			status = QDF_STATUS_E_FAILURE;
@@ -6948,6 +6967,8 @@ QDF_STATUS sme_configure_suspend_ind(tHalHandle hHal,
 		/* serialize the req through MC thread */
 		cds_message.bodyval = conn_state_mask;
 		cds_message.type = WMA_WLAN_SUSPEND_IND;
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 NO_SESSION, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 			pMac->readyToSuspendCallback = NULL;
@@ -6993,6 +7014,8 @@ QDF_STATUS sme_configure_resume_req(tHalHandle hHal,
 		/* serialize the req through MC thread */
 		cds_message.bodyptr = wlanResumeParam;
 		cds_message.type = WMA_WLAN_RESUME_REQ;
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 NO_SESSION, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 			status = QDF_STATUS_E_FAILURE;
@@ -7835,6 +7858,8 @@ QDF_STATUS sme_8023_multicast_list(tHalHandle hHal, uint8_t sessionId,
 	msg.type = WMA_8023_MULTICAST_LIST_REQ;
 	msg.reserved = 0;
 	msg.bodyptr = request_buf;
+	MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+			 sessionId, msg.type));
 	if (QDF_STATUS_SUCCESS != cds_mq_post_message(QDF_MODULE_ID_WMA, &msg)) {
 		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
 			  "%s: Not able to "
@@ -7890,7 +7915,8 @@ QDF_STATUS sme_receive_filter_set_filter(tHalHandle hHal,
 	msg.type = WMA_RECEIVE_FILTER_SET_FILTER_REQ;
 	msg.reserved = 0;
 	msg.bodyptr = request_buf;
-
+	MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+			 sessionId, msg.type));
 	QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_INFO, "Pkt Flt Req : "
 		  "FT %d FID %d ",
 		  request_buf->filterType, request_buf->filterId);
@@ -7980,6 +8006,8 @@ QDF_STATUS sme_receive_filter_clear_filter(tHalHandle hHal,
 	msg.type = WMA_RECEIVE_FILTER_CLEAR_FILTER_REQ;
 	msg.reserved = 0;
 	msg.bodyptr = request_buf;
+	MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+			 sessionId, msg.type));
 	if (QDF_STATUS_SUCCESS != cds_mq_post_message(QDF_MODULE_ID_WMA, &msg)) {
 		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
 			  "%s: Not able to post "
@@ -8095,7 +8123,8 @@ QDF_STATUS sme_set_max_tx_power_per_band(eCsrBand band, int8_t dB)
 	msg.type = WMA_SET_MAX_TX_POWER_PER_BAND_REQ;
 	msg.reserved = 0;
 	msg.bodyptr = pMaxTxPowerPerBandParams;
-
+	MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+			 NO_SESSION, msg.type));
 	if (QDF_STATUS_SUCCESS != cds_mq_post_message(QDF_MODULE_ID_WMA, &msg)) {
 		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
 			  "%s:Not able to post WMA_SET_MAX_TX_POWER_PER_BAND_REQ",
@@ -8340,6 +8369,8 @@ QDF_STATUS sme_set_tm_level(tHalHandle hHal, uint16_t newTMLevel, uint16_t tmMod
 		/* serialize the req through MC thread */
 		cds_message.bodyptr = setTmLevelReq;
 		cds_message.type = WMA_SET_TM_LEVEL_REQ;
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 NO_SESSION, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 			QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
@@ -10619,6 +10650,8 @@ QDF_STATUS sme_lphb_config_req
 		/* serialize the req through MC thread */
 		cds_message.bodyptr = lphdReq;
 		cds_message.type = WMA_LPHB_CONF_REQ;
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 NO_SESSION, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 			QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
@@ -10694,6 +10727,8 @@ sme_add_periodic_tx_ptrn(tHalHandle hal,
 	/* Serialize the req through MC thread */
 	msg.bodyptr = req_msg;
 	msg.type    = WMA_ADD_PERIODIC_TX_PTRN_IND;
+	MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+			 NO_SESSION, msg.type));
 	status = cds_mq_post_message(QDF_MODULE_ID_WMA, &msg);
 	if (!QDF_IS_STATUS_SUCCESS(status)) {
 		sms_log(mac, LOGE,
@@ -10743,6 +10778,8 @@ sme_del_periodic_tx_ptrn(tHalHandle hal,
 	/* Serialize the req through MC thread */
 	msg.bodyptr = req_msg;
 	msg.type    = WMA_DEL_PERIODIC_TX_PTRN_IND;
+	MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+			 NO_SESSION, msg.type));
 	status = cds_mq_post_message(QDF_MODULE_ID_WMA, &msg);
 	if (!QDF_IS_STATUS_SUCCESS(status)) {
 		sms_log(mac, LOGE,
@@ -11956,7 +11993,8 @@ QDF_STATUS sme_send_rate_update_ind(tHalHandle hHal,
 	if (QDF_STATUS_SUCCESS == status) {
 		msg.type = WMA_RATE_UPDATE_IND;
 		msg.bodyptr = rate_upd;
-
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 NO_SESSION, msg.type));
 		if (!QDF_IS_STATUS_SUCCESS
 			    (cds_mq_post_message(QDF_MODULE_ID_WMA, &msg))) {
 			QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
@@ -13128,6 +13166,8 @@ QDF_STATUS sme_ext_scan_get_capabilities(tHalHandle hHal,
 		/* Serialize the req through MC thread */
 		cds_message.bodyptr = pReq;
 		cds_message.type = WMA_EXTSCAN_GET_CAPABILITIES_REQ;
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 NO_SESSION, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status))
 			status = QDF_STATUS_E_FAILURE;
@@ -13157,6 +13197,8 @@ QDF_STATUS sme_ext_scan_start(tHalHandle hHal,
 		/* Serialize the req through MC thread */
 		cds_message.bodyptr = pStartCmd;
 		cds_message.type = WMA_EXTSCAN_START_REQ;
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 NO_SESSION, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status))
 			status = QDF_STATUS_E_FAILURE;
@@ -13185,6 +13227,8 @@ QDF_STATUS sme_ext_scan_stop(tHalHandle hHal, tSirExtScanStopReqParams *pStopReq
 		/* Serialize the req through MC thread */
 		cds_message.bodyptr = pStopReq;
 		cds_message.type = WMA_EXTSCAN_STOP_REQ;
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 NO_SESSION, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status))
 			status = QDF_STATUS_E_FAILURE;
@@ -13214,6 +13258,8 @@ QDF_STATUS sme_set_bss_hotlist(tHalHandle hHal,
 		/* Serialize the req through MC thread */
 		cds_message.bodyptr = pSetHotListReq;
 		cds_message.type = WMA_EXTSCAN_SET_BSSID_HOTLIST_REQ;
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 NO_SESSION, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status))
 			status = QDF_STATUS_E_FAILURE;
@@ -13244,6 +13290,8 @@ QDF_STATUS sme_reset_bss_hotlist(tHalHandle hHal,
 		/* Serialize the req through MC thread */
 		cds_message.bodyptr = pResetReq;
 		cds_message.type = WMA_EXTSCAN_RESET_BSSID_HOTLIST_REQ;
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 NO_SESSION, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status))
 			status = QDF_STATUS_E_FAILURE;
@@ -13307,6 +13355,8 @@ QDF_STATUS sme_set_significant_change(tHalHandle hHal,
 		/* Serialize the req through MC thread */
 		cds_message.bodyptr = pSetSignificantChangeReq;
 		cds_message.type = WMA_EXTSCAN_SET_SIGNF_CHANGE_REQ;
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 NO_SESSION, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status))
 			status = QDF_STATUS_E_FAILURE;
@@ -13337,6 +13387,8 @@ QDF_STATUS sme_reset_significant_change(tHalHandle hHal,
 		/* Serialize the req through MC thread */
 		cds_message.bodyptr = pResetReq;
 		cds_message.type = WMA_EXTSCAN_RESET_SIGNF_CHANGE_REQ;
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 NO_SESSION, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status))
 			status = QDF_STATUS_E_FAILURE;
@@ -13367,6 +13419,8 @@ QDF_STATUS sme_get_cached_results(tHalHandle hHal,
 		/* Serialize the req through MC thread */
 		cds_message.bodyptr = pCachedResultsReq;
 		cds_message.type = WMA_EXTSCAN_GET_CACHED_RESULTS_REQ;
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 NO_SESSION, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status))
 			status = QDF_STATUS_E_FAILURE;
@@ -13667,6 +13721,8 @@ QDF_STATUS sme_ll_stats_clear_req(tHalHandle hHal,
 		/* Serialize the req through MC thread */
 		cds_message.bodyptr = clear_stats_req;
 		cds_message.type = WMA_LINK_LAYER_STATS_CLEAR_REQ;
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 NO_SESSION, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 			QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
@@ -13723,6 +13779,8 @@ QDF_STATUS sme_ll_stats_set_req(tHalHandle hHal, tSirLLStatsSetReq *psetStatsReq
 		/* Serialize the req through MC thread */
 		cds_message.bodyptr = set_stats_req;
 		cds_message.type = WMA_LINK_LAYER_STATS_SET_REQ;
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 NO_SESSION, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 			QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
@@ -13779,6 +13837,8 @@ QDF_STATUS sme_ll_stats_get_req(tHalHandle hHal, tSirLLStatsGetReq *pgetStatsReq
 		/* Serialize the req through MC thread */
 		cds_message.bodyptr = get_stats_req;
 		cds_message.type = WMA_LINK_LAYER_STATS_GET_REQ;
+		MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+				 NO_SESSION, cds_message.type));
 		qdf_status = cds_mq_post_message(CDS_MQ_ID_WMA, &cds_message);
 		if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
 			QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,

+ 5 - 0
core/sme/src/common/sme_power_save.c

@@ -28,6 +28,7 @@
 #include "sme_power_save.h"
 #include "sme_power_save_api.h"
 #include "sms_debug.h"
+#include "sme_trace.h"
 #include "qdf_mem.h"
 #include "qdf_types.h"
 #include "wma_types.h"
@@ -884,6 +885,8 @@ QDF_STATUS sme_set_ps_host_offload(tHalHandle hal_ctx,
 	msg.type = WMA_SET_HOST_OFFLOAD;
 	msg.reserved = 0;
 	msg.bodyptr = request_buf;
+	MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+			 session_id, msg.type));
 	if (QDF_STATUS_SUCCESS !=
 			cds_mq_post_message(QDF_MODULE_ID_WMA, &msg)) {
 		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
@@ -932,6 +935,8 @@ QDF_STATUS sme_set_ps_ns_offload(tHalHandle hal_ctx,
 	msg.type = WMA_SET_NS_OFFLOAD;
 	msg.reserved = 0;
 	msg.bodyptr = request_buf;
+	MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+			 session_id, msg.type));
 	if (QDF_STATUS_SUCCESS !=
 			cds_mq_post_message(QDF_MODULE_ID_WMA, &msg)) {
 		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,

+ 31 - 11
core/sme/src/common/sme_trace.c

@@ -199,18 +199,38 @@ static uint8_t *sme_trace_get_command_string(uint32_t command)
 	}
 }
 
-static void sme_trace_dump(tpAniSirGlobal pMac, tp_qdf_trace_record pRecord,
-			   uint16_t recIndex)
+static void sme_trace_dump(tpAniSirGlobal mac_ctx, tp_qdf_trace_record record,
+			   uint16_t rec_index)
 {
-	if (TRACE_CODE_SME_COMMAND == pRecord->code) {
-		sms_log(pMac, LOG1, "%04d %012llu S%d %-14s %-30s(0x%x)",
-			recIndex, pRecord->time, pRecord->session,
-			"SME COMMAND:", sme_trace_get_command_string(pRecord->data),
-			pRecord->data);
-	} else {
-		sms_log(pMac, LOG1, "%04d %012llu S%d %-14s %-30s(0x%x)",
-			recIndex, pRecord->time, pRecord->session, "RX HDD MSG:",
-			sme_trace_get_rx_msg_string(pRecord->code), pRecord->data);
+	switch (record->code) {
+	case TRACE_CODE_SME_COMMAND:
+		sms_log(mac_ctx, LOG1, "%04d %012llu S%d %-14s %-30s(0x%x)",
+			rec_index, record->time, record->session,
+			"SME COMMAND:",
+			sme_trace_get_command_string(record->data),
+			record->data);
+		break;
+	case TRACE_CODE_SME_TX_WMA_MSG:
+		sms_log(mac_ctx, LOG1, "%04d %012llu S%d %-14s %-30s(0x%x)",
+			rec_index, record->time, record->session,
+			"TX WMA Msg:",
+			mac_trace_get_wma_msg_string((uint16_t)record->data),
+			record->data);
+		break;
+	case TRACE_CODE_SME_RX_WMA_MSG:
+		sms_log(mac_ctx, LOG1, "%04d %012llu S%d %-14s %-30s(0x%x)",
+			rec_index, record->time, record->session,
+			"RX WMA Msg:",
+			mac_trace_get_sme_msg_string((uint16_t)record->data),
+			record->data);
+		break;
+	default:
+		sms_log(mac_ctx, LOG1, "%04d %012llu S%d %-14s %-30s(0x%x)",
+			rec_index, record->time, record->session,
+			"RX HDD MSG:",
+			sme_trace_get_rx_msg_string(record->code),
+			record->data);
+		break;
 	}
 }
 

+ 5 - 1
core/sme/src/csr/csr_api_roam.c

@@ -38,6 +38,7 @@
 #include "cds_mq.h"
 #include "csr_inside_api.h"
 #include "sms_debug.h"
+#include "sme_trace.h"
 #include "sme_qos_internal.h"
 #include "sme_inside.h"
 #include "host_diag_core_event.h"
@@ -782,7 +783,8 @@ QDF_STATUS csr_update_channel_list(tpAniSirGlobal pMac)
 	msg.reserved = 0;
 	msg.bodyptr = pChanList;
 	pChanList->numChan = num_channel;
-
+	MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+			 NO_SESSION, msg.type));
 	if (QDF_STATUS_SUCCESS != cds_mq_post_message(QDF_MODULE_ID_WMA, &msg)) {
 		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_FATAL,
 			  "%s: Failed to post msg to WMA", __func__);
@@ -17409,6 +17411,8 @@ csr_roam_offload_scan(tpAniSirGlobal mac_ctx, uint8_t session_id,
 	msg.type = WMA_ROAM_SCAN_OFFLOAD_REQ;
 	msg.reserved = 0;
 	msg.bodyptr = req_buf;
+	MTRACE(qdf_trace(QDF_MODULE_ID_SME, TRACE_CODE_SME_TX_WMA_MSG,
+			 session_id, msg.type));
 	if (!QDF_IS_STATUS_SUCCESS
 		    (cds_mq_post_message(QDF_MODULE_ID_WMA, &msg))) {
 		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,