diff options
| author | Edhar Mahesh Kumar <c_medhar@qti.qualcomm.com> | 2014-03-31 18:04:12 -0700 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-04-17 16:46:03 -0700 |
| commit | 54e1ceade6eaa082b5ee429baeeb8b34aeac8b48 (patch) | |
| tree | c1652df1e616dda10ccf3646aa423b339e950749 | |
| parent | dfb30918ebac88403210bb98068a46f44218219b (diff) | |
PE: Enhance MTRACE to track MC Thread TX packet wait and complete state
Changes to measure how long MC Thread was stuck for management
TX transmission.
Change-Id: I83a2f6c23de9f01ec78a0c7ea31530c362588a6e
CRs-Fixed: 641285
| -rw-r--r-- | CORE/MAC/src/pe/lim/limSendManagementFrames.c | 337 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limTrace.c | 4 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limUtils.c | 1 |
3 files changed, 233 insertions, 109 deletions
diff --git a/CORE/MAC/src/pe/lim/limSendManagementFrames.c b/CORE/MAC/src/pe/lim/limSendManagementFrames.c index f67633ab3042..c8458ecbf30e 100644 --- a/CORE/MAC/src/pe/lim/limSendManagementFrames.c +++ b/CORE/MAC/src/pe/lim/limSendManagementFrames.c @@ -54,6 +54,11 @@ #include "wniCfgAp.h" #endif +#include "limSession.h" +#include "vos_types.h" +#include "vos_trace.h" +#include "vos_utils.h" +#include "sme_Trace.h" #if defined WLAN_FEATURE_VOWIFI #include "rrmApi.h" #endif @@ -1426,12 +1431,18 @@ limSendAddtsReqActionFrame(tpAniSirGlobal pMac, txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; } + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); + // Queue Addts Response frame in high priority WQ halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) nBytes, HAL_TXRX_FRM_802_11_MGMT, ANI_TXDIR_TODS, 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, txFlag, smeSessionId ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); + if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog( pMac, LOGE, FL( "*** Could not send an Add TS Request" @@ -1785,12 +1796,17 @@ limSendAssocRspMgmtFrame(tpAniSirGlobal pMac, txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; } + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); /// Queue Association Response frame in high priority WQ halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) nBytes, HAL_TXRX_FRM_802_11_MGMT, ANI_TXDIR_TODS, 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, txFlag, smeSessionId ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); + if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog(pMac, LOGE, @@ -2066,12 +2082,16 @@ limSendAddtsRspActionFrame(tpAniSirGlobal pMac, txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; } + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); // Queue the frame in high priority WQ: halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) nBytes, HAL_TXRX_FRM_802_11_MGMT, ANI_TXDIR_TODS, 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, txFlag, smeSessionId ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog( pMac, LOGE, FL("Failed to send Add TS Response (%X)!"), @@ -2252,11 +2272,15 @@ limSendDeltsReqActionFrame(tpAniSirGlobal pMac, txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; } + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId,pMacHdr->fc.subType)); halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) nBytes, HAL_TXRX_FRM_802_11_MGMT, ANI_TXDIR_TODS, 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, txFlag, smeSessionId ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog( pMac, LOGE, FL("Failed to send Del TS (%X)!"), @@ -2291,6 +2315,7 @@ limSendAssocReqMgmtFrame(tpAniSirGlobal pMac, tANI_BOOLEAN isVHTEnabled = eANI_BOOLEAN_FALSE; tDot11fIEExtCap extractedExtCap; tANI_BOOLEAN extractedExtCapFlag = eANI_BOOLEAN_TRUE; + tpSirMacMgmtHdr pMacHdr; if(NULL == psessionEntry) { @@ -2551,10 +2576,11 @@ limSendAssocReqMgmtFrame(tpAniSirGlobal pMac, if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog( pMac, LOGP, FL("Failed to allocate %d bytes for an As" - "sociation Request."), nBytes ); + "sociation Request."), nBytes ); psessionEntry->limMlmState = psessionEntry->limPrevMlmState; - MTRACE(macTrace(pMac, TRACE_CODE_MLM_STATE, psessionEntry->peSessionId, psessionEntry->limMlmState)); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_MLM_STATE, + psessionEntry->peSessionId, psessionEntry->limMlmState)); /* Update PE session id*/ @@ -2658,11 +2684,16 @@ limSendAssocReqMgmtFrame(tpAniSirGlobal pMac, txFlag |= HAL_USE_PEER_STA_REQUESTED_MASK; } + pMacHdr = ( tpSirMacMgmtHdr ) pFrame; + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) (sizeof(tSirMacMgmtHdr) + nPayload), HAL_TXRX_FRM_802_11_MGMT, ANI_TXDIR_TODS, 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, txFlag, smeSessionId ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog( pMac, LOGE, FL("Failed to send Association Request (%X)!"), @@ -2712,6 +2743,7 @@ limSendReassocReqWithFTIEsMgmtFrame(tpAniSirGlobal pMac, tANI_U8 txFlag = 0; tANI_U8 smeSessionId = 0; tANI_BOOLEAN isVHTEnabled = eANI_BOOLEAN_FALSE; + tpSirMacMgmtHdr pMacHdr; if (NULL == psessionEntry) { @@ -2982,7 +3014,8 @@ limSendReassocReqWithFTIEsMgmtFrame(tpAniSirGlobal pMac, if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { psessionEntry->limMlmState = psessionEntry->limPrevMlmState; - MTRACE(macTrace(pMac, TRACE_CODE_MLM_STATE, psessionEntry->peSessionId, psessionEntry->limMlmState)); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_MLM_STATE, + psessionEntry->peSessionId, psessionEntry->limMlmState)); limLog( pMac, LOGP, FL("Failed to allocate %d bytes for a Re-As" "sociation Request."), nBytes ); goto end; @@ -3007,7 +3040,7 @@ limSendReassocReqWithFTIEsMgmtFrame(tpAniSirGlobal pMac, goto end; } - + pMacHdr = (tpSirMacMgmtHdr) pFrame; // That done, pack the ReAssoc Request: nStatus = dot11fPackReAssocRequest( pMac, &frm, pFrame + sizeof(tSirMacMgmtHdr), @@ -3105,12 +3138,15 @@ limSendReassocReqWithFTIEsMgmtFrame(tpAniSirGlobal pMac, psessionEntry->assocReqLen = (ft_ies_length); } - + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) (nBytes + ft_ies_length), HAL_TXRX_FRM_802_11_MGMT, ANI_TXDIR_TODS, 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, txFlag, smeSessionId ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog( pMac, LOGE, FL("Failed to send Re-Association Request" @@ -3145,7 +3181,8 @@ void limSendRetryReassocReqFrame(tpAniSirGlobal pMac, // start reassoc timer. pMac->lim.limTimers.gLimReassocFailureTimer.sessionId = psessionEntry->peSessionId; // Start reassociation failure timer - MTRACE(macTrace(pMac, TRACE_CODE_TIMER_ACTIVATE, psessionEntry->peSessionId, eLIM_REASSOC_FAIL_TIMER)); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TIMER_ACTIVATE, + psessionEntry->peSessionId, eLIM_REASSOC_FAIL_TIMER)); if (tx_timer_activate(&pMac->lim.limTimers.gLimReassocFailureTimer) != TX_SUCCESS) { @@ -3207,6 +3244,7 @@ limSendReassocReqMgmtFrame(tpAniSirGlobal pMac, #endif tANI_U8 smeSessionId = 0; tANI_BOOLEAN isVHTEnabled = eANI_BOOLEAN_FALSE; + tpSirMacMgmtHdr pMacHdr; if(NULL == psessionEntry) { @@ -3393,8 +3431,9 @@ limSendReassocReqMgmtFrame(tpAniSirGlobal pMac, if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { psessionEntry->limMlmState = psessionEntry->limPrevMlmState; - MTRACE(macTrace(pMac, TRACE_CODE_MLM_STATE, psessionEntry->peSessionId, psessionEntry->limMlmState)); - limLog( pMac, LOGP, FL("Failed to allocate %d bytes for a Re-As" + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_MLM_STATE, + psessionEntry->peSessionId, psessionEntry->limMlmState)); + limLog(pMac, LOGP, FL("Failed to allocate %d bytes for a Re-As" "sociation Request."), nBytes ); goto end; } @@ -3415,6 +3454,7 @@ limSendReassocReqMgmtFrame(tpAniSirGlobal pMac, goto end; } + pMacHdr = (tpSirMacMgmtHdr) pFrame; // That done, pack the Probe Request: nStatus = dot11fPackReAssocRequest( pMac, &frm, pFrame + @@ -3477,11 +3517,15 @@ limSendReassocReqMgmtFrame(tpAniSirGlobal pMac, txFlag |= HAL_USE_PEER_STA_REQUESTED_MASK; } + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) (sizeof(tSirMacMgmtHdr) + nPayload), HAL_TXRX_FRM_802_11_MGMT, ANI_TXDIR_TODS, 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, txFlag, smeSessionId ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog( pMac, LOGE, FL("Failed to send Re-Association Request" @@ -3798,12 +3842,16 @@ limSendAuthMgmtFrame(tpAniSirGlobal pMac, txFlag |= HAL_USE_PEER_STA_REQUESTED_MASK; } + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); /// Queue Authentication frame in high priority WQ halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) frameLen, HAL_TXRX_FRM_802_11_MGMT, ANI_TXDIR_TODS, 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, txFlag, smeSessionId ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog(pMac, LOGE, @@ -4131,6 +4179,8 @@ limSendDisassocMgmtFrame(tpAniSirGlobal pMac, if (waitForAck) { + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); // Queue Disassociation frame in high priority WQ /* get the duration from the request */ halstatus = halTxFrameWithTxComplete( pMac, pPacket, ( tANI_U16 ) nBytes, @@ -4139,6 +4189,9 @@ limSendDisassocMgmtFrame(tpAniSirGlobal pMac, 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, limDisassocTxCompleteCnf, txFlag, smeSessionId ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); + val = SYS_MS_TO_TICKS(LIM_DISASSOC_DEAUTH_ACK_TIMEOUT); if (tx_timer_change( @@ -4160,12 +4213,16 @@ limSendDisassocMgmtFrame(tpAniSirGlobal pMac, } else { + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); // Queue Disassociation frame in high priority WQ halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) nBytes, HAL_TXRX_FRM_802_11_MGMT, ANI_TXDIR_TODS, 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, txFlag, smeSessionId ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog( pMac, LOGE, FL("Failed to send Disassociation " @@ -4319,6 +4376,8 @@ limSendDeauthMgmtFrame(tpAniSirGlobal pMac, if (waitForAck) { + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); // Queue Disassociation frame in high priority WQ halstatus = halTxFrameWithTxComplete( pMac, pPacket, ( tANI_U16 ) nBytes, HAL_TXRX_FRM_802_11_MGMT, @@ -4326,6 +4385,8 @@ limSendDeauthMgmtFrame(tpAniSirGlobal pMac, 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, limDeauthTxCompleteCnf, txFlag, smeSessionId ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog( pMac, LOGE, FL("Failed to send De-Authentication " @@ -4361,6 +4422,8 @@ limSendDeauthMgmtFrame(tpAniSirGlobal pMac, } else { + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); #ifdef FEATURE_WLAN_TDLS if ((NULL != pStaDs) && (STA_ENTRY_TDLS_PEER == pStaDs->staType)) { @@ -4383,6 +4446,8 @@ limSendDeauthMgmtFrame(tpAniSirGlobal pMac, #ifdef FEATURE_WLAN_TDLS } #endif + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog( pMac, LOGE, FL("Failed to send De-Authentication " @@ -4529,11 +4594,17 @@ limSendMeasReportFrame(tpAniSirGlobal pMac, "easurement Report (0x%08x)."), nStatus ); } + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + ((psessionEntry)? psessionEntry->peSessionId : NO_SESSION), + pMacHdr->fc.subType)); halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) nBytes, HAL_TXRX_FRM_802_11_MGMT, ANI_TXDIR_TODS, 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, 0 ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + ((psessionEntry)? psessionEntry->peSessionId : NO_SESSION), + halstatus)); if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog( pMac, LOGE, FL("Failed to send a Measurement Report " @@ -4652,11 +4723,17 @@ limSendTpcRequestFrame(tpAniSirGlobal pMac, "PC Request (0x%08x)."), nStatus ); } + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + ((psessionEntry)? psessionEntry->peSessionId : NO_SESSION), + pMacHdr->fc.subType)); halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) nBytes, HAL_TXRX_FRM_802_11_MGMT, ANI_TXDIR_TODS, 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, 0 ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + ((psessionEntry)? psessionEntry->peSessionId : NO_SESSION), + halstatus)); if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog( pMac, LOGE, FL("Failed to send a TPC Request " @@ -4783,12 +4860,17 @@ limSendTpcReportFrame(tpAniSirGlobal pMac, "PC Report (0x%08x)."), nStatus ); } - + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + ((psessionEntry)? psessionEntry->peSessionId : NO_SESSION), + pMacHdr->fc.subType)); halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) nBytes, HAL_TXRX_FRM_802_11_MGMT, ANI_TXDIR_TODS, 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, 0 ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + ((psessionEntry)? psessionEntry->peSessionId : NO_SESSION), + halstatus)); if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog( pMac, LOGE, FL("Failed to send a TPC Report " @@ -4945,11 +5027,16 @@ limSendChannelSwitchMgmtFrame(tpAniSirGlobal pMac, { txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; } + + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) nBytes, HAL_TXRX_FRM_802_11_MGMT, ANI_TXDIR_TODS, 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, txFlag, smeSessionId ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog( pMac, LOGE, FL("Failed to send a Channel Switch " @@ -5069,11 +5156,16 @@ limSendVHTOpmodeNotificationFrame(tpAniSirGlobal pMac, { txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; } + + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) nBytes, HAL_TXRX_FRM_802_11_MGMT, ANI_TXDIR_TODS, 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, txFlag, smeSessionId ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog( pMac, LOGE, FL("Failed to send a Channel Switch " @@ -5212,11 +5304,16 @@ limSendVHTChannelSwitchMgmtFrame(tpAniSirGlobal pMac, { txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; } + + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); halstatus = halTxFrame( pMac, pPacket, ( tANI_U16 ) nBytes, HAL_TXRX_FRM_802_11_MGMT, ANI_TXDIR_TODS, 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, txFlag, smeSessionId ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); if ( ! HAL_STATUS_SUCCESS ( halstatus ) ) { limLog( pMac, LOGE, FL("Failed to send a Channel Switch " @@ -5410,15 +5507,19 @@ tSirRetStatus limSendAddBAReq( tpAniSirGlobal pMac, txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; } - if( eHAL_STATUS_SUCCESS != - (halStatus = halTxFrame( pMac, - pPacket, - (tANI_U16) frameLen, - HAL_TXRX_FRM_802_11_MGMT, - ANI_TXDIR_TODS, - 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, - limTxComplete, - pAddBAReqBuffer, txFlag, smeSessionId ))) + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); + halStatus = halTxFrame( pMac, + pPacket, + (tANI_U16) frameLen, + HAL_TXRX_FRM_802_11_MGMT, + ANI_TXDIR_TODS, + 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, + limTxComplete, + pAddBAReqBuffer, txFlag, smeSessionId); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halStatus)); + if (eHAL_STATUS_SUCCESS != halStatus ) { limLog( pMac, LOGE, FL( "halTxFrame FAILED! Status [%d]"), @@ -5624,30 +5725,34 @@ tSirRetStatus limSendAddBARsp( tpAniSirGlobal pMac, txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; } - if( eHAL_STATUS_SUCCESS != - (halStatus = halTxFrame( pMac, - pPacket, - (tANI_U16) frameLen, - HAL_TXRX_FRM_802_11_MGMT, - ANI_TXDIR_TODS, - 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, - limTxComplete, - pAddBARspBuffer, txFlag, smeSessionId ))) - { - limLog( pMac, LOGE, - FL( "halTxFrame FAILED! Status [%d]" ), - halStatus ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); + halStatus = halTxFrame( pMac, + pPacket, + (tANI_U16) frameLen, + HAL_TXRX_FRM_802_11_MGMT, + ANI_TXDIR_TODS, + 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, + limTxComplete, + pAddBARspBuffer, txFlag, smeSessionId); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halStatus)); + if (eHAL_STATUS_SUCCESS != halStatus ) + { + limLog( pMac, LOGE, + FL( "halTxFrame FAILED! Status [%d]" ), + halStatus ); // FIXME - HAL error codes are different from PE error // codes!! And, this routine is returning tSirRetStatus statusCode = eSIR_FAILURE; //Pkt will be freed up by the callback return statusCode; - } - else - return eSIR_SUCCESS; + } + else + return eSIR_SUCCESS; - returnAfterError: + returnAfterError: // Release buffer, if allocated if( NULL != pAddBARspBuffer ) @@ -5825,25 +5930,29 @@ tSirRetStatus limSendDelBAInd( tpAniSirGlobal pMac, txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; } - if( eHAL_STATUS_SUCCESS != - (halStatus = halTxFrame( pMac, - pPacket, - (tANI_U16) frameLen, - HAL_TXRX_FRM_802_11_MGMT, - ANI_TXDIR_TODS, - 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, - limTxComplete, - pDelBAIndBuffer, txFlag, smeSessionId ))) - { - PELOGE(limLog( pMac, LOGE, FL( "halTxFrame FAILED! Status [%d]" ), halStatus );) - statusCode = eSIR_FAILURE; - //Pkt will be freed up by the callback - return statusCode; - } - else - return eSIR_SUCCESS; + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); + halStatus = halTxFrame( pMac, + pPacket, + (tANI_U16) frameLen, + HAL_TXRX_FRM_802_11_MGMT, + ANI_TXDIR_TODS, + 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, + limTxComplete, + pDelBAIndBuffer, txFlag, smeSessionId); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halStatus)); + if (eHAL_STATUS_SUCCESS != halStatus ) + { + PELOGE(limLog( pMac, LOGE, FL( "halTxFrame FAILED! Status [%d]" ), halStatus );) + statusCode = eSIR_FAILURE; + //Pkt will be freed up by the callback + return statusCode; + } + else + return eSIR_SUCCESS; - returnAfterError: + returnAfterError: // Release buffer, if allocated if( NULL != pDelBAIndBuffer ) @@ -5992,18 +6101,22 @@ limSendNeighborReportRequestFrame(tpAniSirGlobal pMac, txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; } - if( eHAL_STATUS_SUCCESS != - (halstatus = halTxFrame( pMac, - pPacket, - (tANI_U16) nBytes, - HAL_TXRX_FRM_802_11_MGMT, - ANI_TXDIR_TODS, - 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, - limTxComplete, - pFrame, txFlag, smeSessionId ))) + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); + halstatus = halTxFrame( pMac, + pPacket, + (tANI_U16) nBytes, + HAL_TXRX_FRM_802_11_MGMT, + ANI_TXDIR_TODS, + 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, + limTxComplete, + pFrame, txFlag, smeSessionId); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); + if (eHAL_STATUS_SUCCESS != halstatus ) { - PELOGE(limLog( pMac, LOGE, FL( "halTxFrame FAILED! Status [%d]" ), halstatus );) - statusCode = eSIR_FAILURE; + PELOGE(limLog( pMac, LOGE, FL( "halTxFrame FAILED! Status [%d]" ), halstatus );) + statusCode = eSIR_FAILURE; //Pkt will be freed up by the callback return statusCode; } @@ -6154,36 +6267,39 @@ limSendLinkReportActionFrame(tpAniSirGlobal pMac, FL( "Sending a Link Report to " )); limPrintMacAddr( pMac, peer, LOGW ); - if( ( SIR_BAND_5_GHZ == limGetRFBand(psessionEntry->currentOperChannel)) + if ((SIR_BAND_5_GHZ == limGetRFBand(psessionEntry->currentOperChannel)) || ( psessionEntry->pePersona == VOS_P2P_CLIENT_MODE ) || - ( psessionEntry->pePersona == VOS_P2P_GO_MODE) - ) + (psessionEntry->pePersona == VOS_P2P_GO_MODE)) { txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; } - if( eHAL_STATUS_SUCCESS != - (halstatus = halTxFrame( pMac, - pPacket, - (tANI_U16) nBytes, - HAL_TXRX_FRM_802_11_MGMT, - ANI_TXDIR_TODS, - 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, - limTxComplete, - pFrame, txFlag, smeSessionId ))) - { - PELOGE(limLog( pMac, LOGE, FL( "halTxFrame FAILED! Status [%d]" ), halstatus );) + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); + halstatus = halTxFrame( pMac, + pPacket, + (tANI_U16) nBytes, + HAL_TXRX_FRM_802_11_MGMT, + ANI_TXDIR_TODS, + 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, + limTxComplete, + pFrame, txFlag, smeSessionId); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); + if (eHAL_STATUS_SUCCESS != halstatus ) + { + PELOGE(limLog( pMac, LOGE, FL( "halTxFrame FAILED! Status [%d]" ), halstatus );) statusCode = eSIR_FAILURE; - //Pkt will be freed up by the callback - return statusCode; - } - else - return eSIR_SUCCESS; + //Pkt will be freed up by the callback + return statusCode; + } + else + return eSIR_SUCCESS; returnAfterError: - palPktFree( pMac->hHdd, HAL_TXRX_FRM_802_11_MGMT, ( void* ) pFrame, ( void* ) pPacket ); + palPktFree( pMac->hHdd, HAL_TXRX_FRM_802_11_MGMT, ( void* ) pFrame, ( void* ) pPacket ); - return statusCode; + return statusCode; } // End limSendLinkReportActionFrame. /** @@ -6354,26 +6470,31 @@ limSendRadioMeasureReportActionFrame(tpAniSirGlobal pMac, txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; } - if( eHAL_STATUS_SUCCESS != - (halstatus = halTxFrame( pMac, - pPacket, - (tANI_U16) nBytes, - HAL_TXRX_FRM_802_11_MGMT, - ANI_TXDIR_TODS, - 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, - limTxComplete, - pFrame, txFlag, smeSessionId ))) - { - PELOGE(limLog( pMac, LOGE, FL( "halTxFrame FAILED! Status [%d]" ), halstatus );) - statusCode = eSIR_FAILURE; - //Pkt will be freed up by the callback - vos_mem_free(frm); - return statusCode; - } - else { - vos_mem_free(frm); - return eSIR_SUCCESS; - } + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); + halstatus = halTxFrame( pMac, + pPacket, + (tANI_U16) nBytes, + HAL_TXRX_FRM_802_11_MGMT, + ANI_TXDIR_TODS, + 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, + limTxComplete, + pFrame, txFlag, smeSessionId); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); + if (eHAL_STATUS_SUCCESS != halstatus ) + { + PELOGE(limLog( pMac, LOGE, FL( "halTxFrame FAILED! Status [%d]" ), halstatus );) + statusCode = eSIR_FAILURE; + //Pkt will be freed up by the callback + vos_mem_free(frm); + return statusCode; + } + else + { + vos_mem_free(frm); + return eSIR_SUCCESS; + } returnAfterError: vos_mem_free(frm); @@ -6663,7 +6784,9 @@ tSirMacAddr peer,tpPESession psessionEntry) txFlag |= HAL_USE_BD_RATE2_FOR_MANAGEMENT_FRAME; } - halstatus = halTxFrame( pMac, + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_MGMT, + psessionEntry->peSessionId, pMacHdr->fc.subType)); + halstatus = halTxFrame( pMac, pPacket, (tANI_U16) nBytes, HAL_TXRX_FRM_802_11_MGMT, @@ -6671,6 +6794,8 @@ tSirMacAddr peer,tpPESession psessionEntry) 7,//SMAC_SWBD_TX_TID_MGMT_HIGH, limTxComplete, pFrame, txFlag, smeSessionId ); + MTRACE(vos_trace(VOS_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, + psessionEntry->peSessionId, halstatus)); if ( eHAL_STATUS_SUCCESS != halstatus ) { PELOGE(limLog( pMac, LOGE, FL( "halTxFrame FAILED! Status [%d]" ), halstatus );) diff --git a/CORE/MAC/src/pe/lim/limTrace.c b/CORE/MAC/src/pe/lim/limTrace.c index f4179830a171..4104c92e84f5 100644 --- a/CORE/MAC/src/pe/lim/limTrace.c +++ b/CORE/MAC/src/pe/lim/limTrace.c @@ -187,8 +187,8 @@ void limTraceDump(tpAniSirGlobal pMac, tpvosTraceRecord pRecord, tANI_U16 recInd break; case TRACE_CODE_TX_COMPLETE: - limLog(pMac, LOGE, "%04d %012u S%d %-14s ", recIndex, pRecord->time, pRecord->session, - "TX Complete" ); + limLog(pMac, LOGE, "%04d %012u S%d %-14s %d " , recIndex, pRecord->time, pRecord->session, + "TX Complete", pRecord->data ); break; case TRACE_CODE_TX_SME_MSG: diff --git a/CORE/MAC/src/pe/lim/limUtils.c b/CORE/MAC/src/pe/lim/limUtils.c index 3b83d1a2ee77..00b22614bbd2 100644 --- a/CORE/MAC/src/pe/lim/limUtils.c +++ b/CORE/MAC/src/pe/lim/limUtils.c @@ -5092,7 +5092,6 @@ void limTxComplete( tHalHandle hHal, void *pData, v_BOOL_t free) if(VOS_IS_STATUS_SUCCESS(vosStatus)) { mHdr = WDA_GET_RX_MAC_HEADER(pRxBd); - MTRACE(macTrace(pMac, TRACE_CODE_TX_COMPLETE, NO_SESSION, mHdr->fc.subType);) } } |
