summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrunal Soni <ksoni@qca.qualcomm.com>2014-09-10 13:13:31 -0700
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-09-12 20:31:08 -0700
commitdd5b54dde2bbbf11bb2459e20ccb2d9aeee94261 (patch)
treeaee80248f0df00249f2e43e9268eb522bd8edf1e
parentff3a2d475af7a85a1583544c8e894acd999e7150 (diff)
qcacld: fix to avoid sending out any management frames during CAC.
With current code, we found that sometimes management frames go out eventhough we are in CAC period. With this fix, we are providing safety check. When we have CAC running and for that session if persona is softAP then we will avoid sending management frames until we are done with CAC Change-Id: I2401737f431b77d9634a99d2094e2326c8c0e065 CRs-Fixed: 720588
-rw-r--r--CORE/SYS/legacy/src/system/src/sysEntryFunc.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/CORE/SYS/legacy/src/system/src/sysEntryFunc.c b/CORE/SYS/legacy/src/system/src/sysEntryFunc.c
index ec3bd6f99a87..ffcd1505f920 100644
--- a/CORE/SYS/legacy/src/system/src/sysEntryFunc.c
+++ b/CORE/SYS/legacy/src/system/src/sysEntryFunc.c
@@ -142,6 +142,19 @@ sysBbtProcessMessageCore(tpAniSirGlobal pMac, tpSirMsgQ pMsg, tANI_U32 type,
if(type == SIR_MAC_MGMT_FRAME)
{
+ if (VOS_TRUE == pMac->sap.SapDfsInfo.is_dfs_cac_timer_running)
+ {
+ pMacHdr = WDA_GET_RX_MAC_HEADER(pBd);
+ psessionEntry = peFindSessionByBssid(pMac,
+ pMacHdr->bssId, &sessionId);
+ if (psessionEntry &&
+ (psessionEntry->pePersona == VOS_STA_SAP_MODE))
+ {
+ VOS_TRACE(VOS_MODULE_ID_SYS, VOS_TRACE_LEVEL_INFO_HIGH,
+ FL("CAC timer is running, dropping the mgmt frame"));
+ goto fail;
+ }
+ }
if ((subType == SIR_MAC_MGMT_DEAUTH) && (pMac->sys.gSysFrameCount[type][subType] >= MAX_DEAUTH_ALLOWED))
{
tANI_U32 timeNow = adf_os_ticks();