summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkrunal soni <ksoni@qca.qualcomm.com>2014-04-07 17:02:48 -0700
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-04-10 07:12:44 -0700
commit23ae1f70ac75bb30e5330822de05eda5f4bfa63a (patch)
tree8ac3e8d011fc103dd3a5e6b60f8a12599cfd2a3f
parentb1a573032aa0146eb494f6e431209c0e45483bc2 (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.c10
-rw-r--r--CORE/MAC/src/pe/lim/limSessionUtils.c28
-rw-r--r--CORE/MAC/src/pe/lim/limSessionUtils.h16
-rw-r--r--CORE/MAC/src/pe/pmm/pmmApi.c9
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;
}