diff options
| author | krunal soni <ksoni@qca.qualcomm.com> | 2014-04-07 17:02:48 -0700 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-04-10 07:12:44 -0700 |
| commit | 23ae1f70ac75bb30e5330822de05eda5f4bfa63a (patch) | |
| tree | 8ac3e8d011fc103dd3a5e6b60f8a12599cfd2a3f | |
| parent | b1a573032aa0146eb494f6e431209c0e45483bc2 (diff) | |
wlan: qcacld: Print active PE Session during IMPS req if any.
1) Print Active PE Session's BSSID, sessionid
if any session is active while pmmEnterImpsRequestHandler is
called. Also dump the last 100 mtrace.
2) Print Bssid and session ID while creating and deleting the
PE session
Change-Id: Ia3263d2d36bb48c1744bb854b9cb09f5864e7da0
CRs-Fixed: 646006
| -rw-r--r-- | CORE/MAC/src/pe/lim/limSession.c | 10 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limSessionUtils.c | 28 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/lim/limSessionUtils.h | 16 | ||||
| -rw-r--r-- | CORE/MAC/src/pe/pmm/pmmApi.c | 9 |
4 files changed, 62 insertions, 1 deletions
diff --git a/CORE/MAC/src/pe/lim/limSession.c b/CORE/MAC/src/pe/lim/limSession.c index d006bfe9e006..fc20fba62c0c 100644 --- a/CORE/MAC/src/pe/lim/limSession.c +++ b/CORE/MAC/src/pe/lim/limSession.c @@ -200,6 +200,11 @@ tpPESession peCreateSession(tpAniSirGlobal pMac, tANI_U8 *bssid, tANI_U8* sessio pMac->lim.gpSession[i].fWaitForProbeRsp = 0; pMac->lim.gpSession[i].fIgnoreCapsChange = 0; + limLog(pMac, LOG1, FL("Create a new sessionId (%d) with BSSID: " + MAC_ADDRESS_STR " Max No. of STA %d"), + pMac->lim.gpSession[i].peSessionId, + MAC_ADDR_ARRAY(bssid), numSta); + /* Initialize PMM Ps Offload Module */ if(pMac->psOffloadEnabled) { @@ -364,7 +369,10 @@ void peDeleteSession(tpAniSirGlobal pMac, tpPESession psessionEntry) tANI_U16 n; TX_TIMER *timer_ptr; - limLog(pMac, LOGW, FL("Trying to delete a session %d"), psessionEntry->peSessionId); + limLog(pMac, LOGW, FL("Trying to delete a session %d Opmode %d BssIdx %d" + " BSSID: " MAC_ADDRESS_STR), psessionEntry->peSessionId, + psessionEntry->operMode, psessionEntry->bssIdx, + MAC_ADDR_ARRAY(psessionEntry->bssId)); for (n = 0; n < (pMac->lim.maxStation + 1); n++) { diff --git a/CORE/MAC/src/pe/lim/limSessionUtils.c b/CORE/MAC/src/pe/lim/limSessionUtils.c index a2a587697dbf..4f40ff2d0074 100644 --- a/CORE/MAC/src/pe/lim/limSessionUtils.c +++ b/CORE/MAC/src/pe/lim/limSessionUtils.c @@ -203,6 +203,34 @@ tANI_U8 peIsAnySessionActive(tpAniSirGlobal pMac) } /*-------------------------------------------------------------------------- + \brief pePrintActiveSession() - print all the active pesession present . + + This function print all the active pesession present + + \param pMac - pointer to global adapter context + + \sa + --------------------------------------------------------------------------*/ + + +void pePrintActiveSession(tpAniSirGlobal pMac) +{ + tANI_U8 i; + for(i =0; i < pMac->lim.maxBssId; i++) + { + if(pMac->lim.gpSession[i].valid == TRUE) + { + limLog(pMac, LOGE, FL("Active sessionId: %d BSID: "MAC_ADDRESS_STR + "opmode = %d bssIdx = %d"), i, + MAC_ADDR_ARRAY(pMac->lim.gpSession[i].bssId), + pMac->lim.gpSession[i].operMode, + pMac->lim.gpSession[i].bssIdx); + } + } + return; +} + +/*-------------------------------------------------------------------------- \brief isLimSessionOffChannel() - Determines if the there is any other off channel session. diff --git a/CORE/MAC/src/pe/lim/limSessionUtils.h b/CORE/MAC/src/pe/lim/limSessionUtils.h index b2e7f33746fe..28561190c8e1 100644 --- a/CORE/MAC/src/pe/lim/limSessionUtils.h +++ b/CORE/MAC/src/pe/lim/limSessionUtils.h @@ -123,6 +123,22 @@ tpPESession peGetValidPowerSaveSession(tpAniSirGlobal pMac); --------------------------------------------------------------------------*/ tANI_U8 peIsAnySessionActive(tpAniSirGlobal pMac); + +/* --------------------------------------------------------------------------*/ + + +/*-------------------------------------------------------------------------- + \brief pePrintActiveSession() - print all the active pesession present . + + This function print all the active pesession present + + \param pMac - pointer to global adapter context + + \sa + --------------------------------------------------------------------------*/ + +void pePrintActiveSession(tpAniSirGlobal pMac); + /* --------------------------------------------------------------------------*/ diff --git a/CORE/MAC/src/pe/pmm/pmmApi.c b/CORE/MAC/src/pe/pmm/pmmApi.c index 9ad462cba542..591b3d6b2bc7 100644 --- a/CORE/MAC/src/pe/pmm/pmmApi.c +++ b/CORE/MAC/src/pe/pmm/pmmApi.c @@ -1456,7 +1456,16 @@ void pmmEnterImpsRequestHandler (tpAniSirGlobal pMac) /*Returns True even single active session present */ if(peIsAnySessionActive(pMac)) { + /* Print active pesession and tracedump once in every 16 + * continous error. + */ + if (!(pMac->pmc.ImpsReqFailCnt & 0xF)) + { + pePrintActiveSession(pMac); + } resultCode = eSIR_SME_INVALID_STATE; + pmmLog(pMac, LOGE, FL("Session is active go to failure resultCode = " + "eSIR_SME_INVALID_STATE (%d)"),resultCode); goto failure; } |
