summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrunal Soni <ksoni@qca.qualcomm.com>2014-09-12 20:46:48 -0700
committerAnjaneeDevi Kapparapu <c_akappa@qti.qualcomm.com>2014-09-18 19:23:49 +0530
commit443bced3e0a2aca4d7f0bfe353dc12a51dfa46f7 (patch)
tree76d7ac919e7d7d222017133d69c355d49ea9f3a3
parentd1b4f57d0fac097494794b6d6f06085345c008ec (diff)
qcacld: DFS: Drop management frames transmission during CAC.
When softap is in CAC state, any outgoing management frame is dfs specification violation. This fix will stop sending out management frames during CAC. Change-Id: Icaf0d5aa4dfda3ac530df113828576405ca7942c CRs-Fixed: 724094
-rw-r--r--CORE/MAC/src/pe/lim/limSendManagementFrames.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/CORE/MAC/src/pe/lim/limSendManagementFrames.c b/CORE/MAC/src/pe/lim/limSendManagementFrames.c
index 17f7a7857da0..41a6643ca34c 100644
--- a/CORE/MAC/src/pe/lim/limSendManagementFrames.c
+++ b/CORE/MAC/src/pe/lim/limSendManagementFrames.c
@@ -727,6 +727,17 @@ limSendProbeRspMgmtFrame(tpAniSirGlobal pMac,
return;
}
+ /*
+ * In case when cac timer is running for this SAP session then
+ * avoid sending probe rsp out. It is violation of dfs specification.
+ */
+ if ((psessionEntry->pePersona == VOS_STA_SAP_MODE) &&
+ (VOS_TRUE == pMac->sap.SapDfsInfo.is_dfs_cac_timer_running))
+ {
+ VOS_TRACE(VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_INFO,
+ FL("CAC timer is running, dropping the probe response"));
+ return;
+ }
smeSessionId = psessionEntry->smeSessionId;
pFrm = vos_mem_malloc(sizeof(tDot11fProbeResponse));
if ( NULL == pFrm )
@@ -3945,6 +3956,17 @@ limSendDisassocMgmtFrame(tpAniSirGlobal pMac,
return;
}
+ /*
+ * In case when cac timer is running for this SAP session then
+ * avoid sending disassoc out. It is violation of dfs specification.
+ */
+ if ((psessionEntry->pePersona == VOS_STA_SAP_MODE) &&
+ (VOS_TRUE == pMac->sap.SapDfsInfo.is_dfs_cac_timer_running))
+ {
+ VOS_TRACE(VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_INFO,
+ FL("CAC timer is running, drop disassoc from going out"));
+ return;
+ }
smeSessionId = psessionEntry->smeSessionId;
vos_mem_set( ( tANI_U8* )&frm, sizeof( frm ), 0);
@@ -4139,6 +4161,17 @@ limSendDeauthMgmtFrame(tpAniSirGlobal pMac,
return;
}
+ /*
+ * In case when cac timer is running for this SAP session then
+ * avoid deauth frame out. It is violation of dfs specification.
+ */
+ if ((psessionEntry->pePersona == VOS_STA_SAP_MODE) &&
+ (VOS_TRUE == pMac->sap.SapDfsInfo.is_dfs_cac_timer_running))
+ {
+ VOS_TRACE(VOS_MODULE_ID_SAP, VOS_TRACE_LEVEL_INFO,
+ FL("CAC timer is running, drop the deauth from going out"));
+ return;
+ }
smeSessionId = psessionEntry->smeSessionId;
vos_mem_set( ( tANI_U8* ) &frm, sizeof( frm ), 0 );