Merge "wlan: Send ECSA action frame every beacon interval till switch count is 0" into wlan-driver.lnx.1.0-dev.1.0
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h
index d092a1d..06088d8 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg.h
@@ -3117,7 +3117,10 @@
#define CFG_FORCE_SCC_WITH_ECSA_MAX (1)
#define CFG_FORCE_SCC_WITH_ECSA_DEFAULT (0)
-
+#define CFG_STA_SAP_SCC_ON_DFS_CHAN "sta_sap_scc_on_dfs_chan"
+#define CFG_STA_SAP_SCC_ON_DFS_CHAN_MIN (0)
+#define CFG_STA_SAP_SCC_ON_DFS_CHAN_MAX (1)
+#define CFG_STA_SAP_SCC_ON_DFS_CHAN_DEFAULT (0)
/*---------------------------------------------------------------------------
Type declarations
-------------------------------------------------------------------------*/
@@ -3721,6 +3724,7 @@
uint32_t trigger_nullframe_before_hb;
bool force_scc_with_ecsa;
uint8_t enable_rtt_support;
+ uint32_t sta_sap_scc_on_dfs_chan;
} hdd_config_t;
/*---------------------------------------------------------------------------
diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c
index 465ba6a..bb039ae 100644
--- a/CORE/HDD/src/wlan_hdd_cfg.c
+++ b/CORE/HDD/src/wlan_hdd_cfg.c
@@ -3950,6 +3950,13 @@
CFG_FORCE_SCC_WITH_ECSA_DEFAULT,
CFG_FORCE_SCC_WITH_ECSA_MIN,
CFG_FORCE_SCC_WITH_ECSA_MAX ),
+
+ REG_VARIABLE(CFG_STA_SAP_SCC_ON_DFS_CHAN, WLAN_PARAM_HexInteger,
+ hdd_config_t, sta_sap_scc_on_dfs_chan,
+ VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
+ CFG_STA_SAP_SCC_ON_DFS_CHAN_DEFAULT,
+ CFG_STA_SAP_SCC_ON_DFS_CHAN_MIN,
+ CFG_STA_SAP_SCC_ON_DFS_CHAN_MAX),
};
/*
@@ -4605,6 +4612,11 @@
"Name = [%s] Value = [%u] ",
CFG_FORCE_SCC_WITH_ECSA_NAME,
pHddCtx->cfg_ini->force_scc_with_ecsa);
+
+ VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
+ "Name = [%s] value = [%u]",
+ CFG_STA_SAP_SCC_ON_DFS_CHAN,
+ pHddCtx->cfg_ini->sta_sap_scc_on_dfs_chan);
}
@@ -6618,6 +6630,10 @@
pHddCtx->cfg_ini->sendMgmtPktViaWQ5);
vos_set_multicast_logging(pHddCtx->cfg_ini->multicast_host_msgs);
+
+ smeConfig->csrConfig.sta_sap_scc_on_dfs_chan =
+ pHddCtx->cfg_ini->sta_sap_scc_on_dfs_chan;
+
halStatus = sme_UpdateConfig( pHddCtx->hHal, smeConfig);
if ( !HAL_STATUS_SUCCESS( halStatus ) )
{
diff --git a/CORE/MAC/inc/aniGlobal.h b/CORE/MAC/inc/aniGlobal.h
index 2768d24..edeb41f 100644
--- a/CORE/MAC/inc/aniGlobal.h
+++ b/CORE/MAC/inc/aniGlobal.h
@@ -1100,6 +1100,7 @@
#endif /* SAP_AUTH_OFFLOAD */
bool max_power_cmd_pending;
uint32_t sta_auth_retries_for_code17;
+ uint32_t sta_sap_scc_on_dfs_chan;
} tAniSirGlobal;
#ifdef FEATURE_WLAN_TDLS
diff --git a/CORE/SME/inc/csrApi.h b/CORE/SME/inc/csrApi.h
index a0a6b5c..3007365 100644
--- a/CORE/SME/inc/csrApi.h
+++ b/CORE/SME/inc/csrApi.h
@@ -1247,6 +1247,7 @@
uint32_t edca_be_aifs;
tANI_BOOLEAN disable_scan_during_sco;
uint32_t sta_auth_retries_for_code17;
+ uint32_t sta_sap_scc_on_dfs_chan;
}tCsrConfigParam;
//Tush
diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c
index 31e038e..a61953e 100644
--- a/CORE/SME/src/csr/csrApiRoam.c
+++ b/CORE/SME/src/csr/csrApiRoam.c
@@ -2081,6 +2081,7 @@
pMac->roam.configParam.edca_vi_aifs = pParam->edca_vi_aifs;
pMac->roam.configParam.edca_bk_aifs = pParam->edca_bk_aifs;
pMac->roam.configParam.edca_be_aifs = pParam->edca_be_aifs;
+ pMac->sta_sap_scc_on_dfs_chan = pParam->sta_sap_scc_on_dfs_chan;
}
return status;
@@ -2279,7 +2280,7 @@
pParam->edca_vi_aifs = pMac->roam.configParam.edca_vi_aifs;
pParam->edca_bk_aifs = pMac->roam.configParam.edca_bk_aifs;
pParam->edca_be_aifs = pMac->roam.configParam.edca_be_aifs;
-
+ pParam->sta_sap_scc_on_dfs_chan = pMac->sta_sap_scc_on_dfs_chan;
status = eHAL_STATUS_SUCCESS;
}
return (status);