diff --git a/components/mlme/core/src/wlan_mlme_main.c b/components/mlme/core/src/wlan_mlme_main.c
index 882055520ce2..f54da9d90f70 100644
--- a/components/mlme/core/src/wlan_mlme_main.c
+++ b/components/mlme/core/src/wlan_mlme_main.c
@@ -549,6 +549,13 @@ static void mlme_init_rates_in_cfg(struct wlan_objmgr_psoc *psoc,
CFG_INI_DISABLE_HIGH_HT_RX_MCS_2x2);
}
+static void mlme_init_dfs_cfg(struct wlan_objmgr_psoc *psoc,
+ struct wlan_mlme_dfs_cfg *dfs_cfg)
+{
+ dfs_cfg->dfs_master_capable = cfg_get(psoc,
+ CFG_ENABLE_DFS_MASTER_CAPABILITY);
+}
+
static void mlme_init_feature_flag_in_cfg(
struct wlan_objmgr_psoc *psoc,
struct wlan_mlme_feature_flag *feature_flags)
@@ -1169,6 +1176,7 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
mlme_init_mbo_cfg(psoc, &mlme_cfg->mbo_cfg);
mlme_init_qos_cfg(psoc, &mlme_cfg->qos_mlme_params);
mlme_init_rates_in_cfg(psoc, &mlme_cfg->rates);
+ mlme_init_dfs_cfg(psoc, &mlme_cfg->dfs_cfg);
mlme_init_sap_protection_cfg(psoc, &mlme_cfg->sap_protection_cfg);
mlme_init_vht_cap_cfg(psoc, &mlme_cfg->vht_caps.vht_cap_info);
mlme_init_chainmask_cfg(psoc, &mlme_cfg->chainmask_cfg);
diff --git a/components/mlme/dispatcher/inc/cfg_mlme.h b/components/mlme/dispatcher/inc/cfg_mlme.h
index b58556b5bca1..2bcb0e029112 100644
--- a/components/mlme/dispatcher/inc/cfg_mlme.h
+++ b/components/mlme/dispatcher/inc/cfg_mlme.h
@@ -31,6 +31,7 @@
#include "cfg_mlme_he_caps.h"
#include "cfg_mlme_lfr.h"
#include "cfg_mlme_obss_ht40.h"
+#include "cfg_mlme_dfs.h"
#include "cfg_mlme_mbo.h"
#include "cfg_mlme_vht_caps.h"
#include "cfg_qos.h"
@@ -51,6 +52,7 @@
#define CFG_MLME_ALL \
CFG_ACS_ALL \
CFG_CHAINMASK_ALL \
+ CFG_DFS_ALL \
CFG_EDCA_PARAMS_ALL \
CFG_FEATURE_FLAG_ALL \
CFG_GENERIC_ALL \
diff --git a/components/mlme/dispatcher/inc/cfg_mlme_dfs.h b/components/mlme/dispatcher/inc/cfg_mlme_dfs.h
new file mode 100644
index 000000000000..e3dd2c583825
--- /dev/null
+++ b/components/mlme/dispatcher/inc/cfg_mlme_dfs.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2012-2018 The Linux Foundation. All rights reserved.
+ *
+ * Permission to use, copy, modify, and/or distribute this software for
+ * any purpose with or without fee is hereby granted, provided that the
+ * above copyright notice and this permission notice appear in all
+ * copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
+ * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
+ * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
+ * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
+ * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+ * PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/**
+ * DOC: This file contains centralized definitions of converged configuration.
+ */
+
+#ifndef __CFG_MLME_DFS_H
+#define __CFG_MLME_DFS_H
+
+/*
+ *
+ * gEnableDFSMasterCap - Enable DFS master capability
+ * @Min: 0
+ * @Max: 1
+ * @Default: 0
+ *
+ * This ini is used to enable/disable the DFS master capability.
+ * Disabling it will cause driver to not advertise the spectrum
+ * management capability
+ * Related: NA.
+ *
+ * upported Feature: DFS
+ *
+ * Usage: Internal/External
+ *
+ *
+ */
+#define CFG_ENABLE_DFS_MASTER_CAPABILITY CFG_INI_BOOL( \
+ "gEnableDFSMasterCap", \
+ 0, \
+ "DFS master mode capability")
+
+#define CFG_DFS_ALL \
+ CFG(CFG_ENABLE_DFS_MASTER_CAPABILITY)
+
+#endif /* __CFG_MLME_DFS_H */
diff --git a/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h b/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h
index 0243a343d3d2..01fb13782d8a 100644
--- a/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h
+++ b/components/mlme/dispatcher/inc/wlan_mlme_public_struct.h
@@ -266,6 +266,14 @@ struct wlan_mlme_cfg_sap {
uint8_t reduced_beacon_interval;
};
+/**
+ * struct wlan_mlme_dfs_cfg - DFS Capabilities related config items
+ * @dfs_master_capable: Is DFS master mode support enabled
+ */
+struct wlan_mlme_dfs_cfg {
+ bool dfs_master_capable;
+};
+
/**
* struct wlan_mlme_mbo - Multiband Operation related ini configs
* @mbo_candidate_rssi_thres:
@@ -1096,6 +1104,7 @@ struct wlan_mlme_wep_cfg {
* @qos_mlme_params: QOS CFG Items
* @rates: Rates related cfg items
* @product_details: product details related CFG Items
+ * @dfs_cfg: DFS related CFG Items
* @sap_protection_cfg: SAP erp protection related CFG items
* @sap_cfg: sap CFG items
* @sta: sta CFG Items
@@ -1121,6 +1130,7 @@ struct wlan_mlme_cfg {
struct wlan_mlme_qos qos_mlme_params;
struct wlan_mlme_rates rates;
struct wlan_mlme_product_details_cfg product_details;
+ struct wlan_mlme_dfs_cfg dfs_cfg;
struct wlan_mlme_sap_protection sap_protection_cfg;
struct wlan_mlme_cfg_sap sap_cfg;
struct wlan_mlme_sta_cfg sta;
diff --git a/components/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h b/components/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h
index 467896697897..633bf26cbb5b 100644
--- a/components/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h
+++ b/components/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h
@@ -524,6 +524,17 @@ QDF_STATUS
ucfg_mlme_get_sta_keep_alive_period(struct wlan_objmgr_psoc *psoc,
uint32_t *val);
+/*
+ * ucfg_mlme_get_dfs_master_capability() - Get the dfs master capability
+ * @psoc: pointer to psoc object
+ * @val: Pointer to the value which will be filled for the caller
+ *
+ * Return: QDF Status
+ */
+QDF_STATUS
+ucfg_mlme_get_dfs_master_capability(struct wlan_objmgr_psoc *psoc,
+ bool *val);
+
/**
* ucfg_mlme_get_pmkid_modes() - Get PMKID modes
* @psoc: pointer to psoc object
diff --git a/components/mlme/dispatcher/src/wlan_mlme_ucfg_api.c b/components/mlme/dispatcher/src/wlan_mlme_ucfg_api.c
index 09ddc0e46716..4114d7ade0b2 100644
--- a/components/mlme/dispatcher/src/wlan_mlme_ucfg_api.c
+++ b/components/mlme/dispatcher/src/wlan_mlme_ucfg_api.c
@@ -121,6 +121,24 @@ ucfg_mlme_get_sta_keep_alive_period(struct wlan_objmgr_psoc *psoc,
return QDF_STATUS_SUCCESS;
}
+QDF_STATUS
+ucfg_mlme_get_dfs_master_capability(struct wlan_objmgr_psoc *psoc,
+ bool *val)
+{
+ struct wlan_mlme_psoc_obj *mlme_obj;
+
+ mlme_obj = mlme_get_psoc_obj(psoc);
+ if (!mlme_obj) {
+ *val = cfg_default(CFG_ENABLE_DFS_MASTER_CAPABILITY);
+ mlme_err("mlme obj null");
+ return QDF_STATUS_E_INVAL;
+ }
+
+ *val = mlme_obj->cfg.dfs_cfg.dfs_master_capable;
+
+ return QDF_STATUS_SUCCESS;
+}
+
QDF_STATUS
ucfg_mlme_get_pmkid_modes(struct wlan_objmgr_psoc *psoc,
uint32_t *val)
diff --git a/core/hdd/inc/wlan_hdd_cfg.h b/core/hdd/inc/wlan_hdd_cfg.h
index ea7bdc87295d..e23864a1457a 100644
--- a/core/hdd/inc/wlan_hdd_cfg.h
+++ b/core/hdd/inc/wlan_hdd_cfg.h
@@ -3705,29 +3705,6 @@ enum hdd_link_speed_rpt_type {
#define CFG_DISABLE_DFS_CH_SWITCH_MAX (1)
#define CFG_DISABLE_DFS_CH_SWITCH_DEFAULT (0)
-/*
- *
- * gEnableDFSMasterCap - Enable DFS master capability
- * @Min: 0
- * @Max: 1
- * @Default: 0
- *
- * This ini is used to enable/disable the DFS master capability.
- * Disabling it will cause driver to not advertise the spectrum
- * management capability
- * Related: NA.
- *
- * Supported Feature: DFS
- *
- * Usage: Internal/External
- *
- *
- */
-#define CFG_ENABLE_DFS_MASTER_CAPABILITY "gEnableDFSMasterCap"
-#define CFG_ENABLE_DFS_MASTER_CAPABILITY_MIN (0)
-#define CFG_ENABLE_DFS_MASTER_CAPABILITY_MAX (1)
-#define CFG_ENABLE_DFS_MASTER_CAPABILITY_DEFAULT (0)
-
/*
*
* gSapPreferredChanLocation - Restrict channel switches between ondoor and
@@ -8942,7 +8919,6 @@ struct hdd_config {
uint32_t WlanMccToSccSwitchMode;
#endif
uint8_t disableDFSChSwitch;
- uint8_t enableDFSMasterCap;
uint32_t TxPower2g;
uint32_t TxPower5g;
bool fDfsPhyerrFilterOffload;
diff --git a/core/hdd/src/wlan_hdd_cfg.c b/core/hdd/src/wlan_hdd_cfg.c
index 735cb8968e4d..71d696c6d724 100644
--- a/core/hdd/src/wlan_hdd_cfg.c
+++ b/core/hdd/src/wlan_hdd_cfg.c
@@ -1661,13 +1661,6 @@ struct reg_table_entry g_registry_table[] = {
CFG_DISABLE_DFS_CH_SWITCH_MIN,
CFG_DISABLE_DFS_CH_SWITCH_MAX),
- REG_VARIABLE(CFG_ENABLE_DFS_MASTER_CAPABILITY, WLAN_PARAM_Integer,
- struct hdd_config, enableDFSMasterCap,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_ENABLE_DFS_MASTER_CAPABILITY_DEFAULT,
- CFG_ENABLE_DFS_MASTER_CAPABILITY_MIN,
- CFG_ENABLE_DFS_MASTER_CAPABILITY_MAX),
-
REG_DYNAMIC_VARIABLE(CFG_SAP_PREFERRED_CHANNEL_LOCATION,
WLAN_PARAM_Integer,
struct hdd_config, gSapPreferredChanLocation,
@@ -4857,13 +4850,6 @@ bool hdd_update_config_cfg(struct hdd_context *hdd_ctx)
hdd_err("Couldn't pass on WNI_CFG_11D_ENABLED to CFG");
}
- if (sme_cfg_set_int(mac_handle, WNI_CFG_DFS_MASTER_ENABLED,
- config->enableDFSMasterCap) ==
- QDF_STATUS_E_FAILURE) {
- status = false;
- hdd_err("Failure: Couldn't set value for WNI_CFG_DFS_MASTER_ENABLED");
- }
-
if (sme_cfg_set_int(mac_handle, WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED,
config->enableMCCAdaptiveScheduler) ==
QDF_STATUS_E_FAILURE) {
diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c
index b181fb38cf2c..0d8f12417091 100644
--- a/core/hdd/src/wlan_hdd_cfg80211.c
+++ b/core/hdd/src/wlan_hdd_cfg80211.c
@@ -12313,9 +12313,6 @@ int wlan_hdd_cfg80211_init(struct device *dev,
ARRAY_SIZE(wlan_hdd_cfg80211_vendor_events);
}
- if (pCfg->enableDFSMasterCap)
- wlan_hdd_cfg80211_set_dfs_offload_feature(wiphy);
-
#ifdef QCA_HT_2040_COEX
wiphy->features |= NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE;
#endif
@@ -12484,6 +12481,7 @@ void wlan_hdd_update_wiphy(struct hdd_context *hdd_ctx)
{
int value;
bool fils_enabled;
+ bool dfs_master_capable = true;
QDF_STATUS status;
ucfg_mlme_get_sap_max_peers(hdd_ctx->psoc, &value);
@@ -12498,6 +12496,11 @@ void wlan_hdd_update_wiphy(struct hdd_context *hdd_ctx)
hdd_err("could not get fils enabled info");
if (fils_enabled)
wlan_hdd_cfg80211_set_wiphy_fils_feature(hdd_ctx->wiphy);
+
+ status = ucfg_mlme_get_dfs_master_capability(hdd_ctx->psoc,
+ &dfs_master_capable);
+ if (QDF_IS_STATUS_SUCCESS(status) && dfs_master_capable)
+ wlan_hdd_cfg80211_set_dfs_offload_feature(hdd_ctx->wiphy);
}
/**
diff --git a/core/hdd/src/wlan_hdd_hostapd_wext.c b/core/hdd/src/wlan_hdd_hostapd_wext.c
index 160629a7fd0d..a2168bb345ce 100644
--- a/core/hdd/src/wlan_hdd_hostapd_wext.c
+++ b/core/hdd/src/wlan_hdd_hostapd_wext.c
@@ -2000,9 +2000,12 @@ static int __iw_get_channel_list(struct net_device *dev,
if (hostapd_adapter->device_mode == QDF_STA_MODE &&
hdd_ctx->config->enableDFSChnlScan) {
is_dfs_mode_enabled = true;
- } else if (hostapd_adapter->device_mode == QDF_SAP_MODE &&
- hdd_ctx->config->enableDFSMasterCap) {
- is_dfs_mode_enabled = true;
+ } else if (hostapd_adapter->device_mode == QDF_SAP_MODE) {
+ if (QDF_STATUS_SUCCESS != ucfg_mlme_get_dfs_master_capability(
+ hdd_ctx->psoc, &is_dfs_mode_enabled)) {
+ hdd_err("Fail to get dfs master mode capability");
+ return -EINVAL;
+ }
}
hdd_debug("curBand = %d, StartChannel = %hu, EndChannel = %hu is_dfs_mode_enabled = %d ",
diff --git a/core/hdd/src/wlan_hdd_sap_cond_chan_switch.c b/core/hdd/src/wlan_hdd_sap_cond_chan_switch.c
index 018954be0a9a..0e54e84d840e 100644
--- a/core/hdd/src/wlan_hdd_sap_cond_chan_switch.c
+++ b/core/hdd/src/wlan_hdd_sap_cond_chan_switch.c
@@ -420,6 +420,7 @@ __wlan_hdd_cfg80211_conditional_chan_switch(struct wiphy *wiphy,
uint32_t freq_len, i;
uint32_t *freq;
uint8_t chans[QDF_MAX_NUM_CHAN] = {0};
+ bool is_dfs_mode_enabled = false;
hdd_enter_dev(dev);
@@ -427,7 +428,13 @@ __wlan_hdd_cfg80211_conditional_chan_switch(struct wiphy *wiphy,
if (ret)
return ret;
- if (!hdd_ctx->config->enableDFSMasterCap) {
+ if (QDF_STATUS_SUCCESS != ucfg_mlme_get_dfs_master_capability(
+ hdd_ctx->psoc, &is_dfs_mode_enabled)) {
+ hdd_err("Failed to get dfs master capability");
+ return -EINVAL;
+ }
+
+ if (!is_dfs_mode_enabled) {
hdd_err("DFS master capability is not present in the driver");
return -EINVAL;
}
diff --git a/core/mac/inc/wni_cfg.h b/core/mac/inc/wni_cfg.h
index bd53e859fc26..c44622b713bf 100644
--- a/core/mac/inc/wni_cfg.h
+++ b/core/mac/inc/wni_cfg.h
@@ -117,7 +117,6 @@ enum {
WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP,
WNI_CFG_RMC_ACTION_PERIOD_FREQUENCY,
WNI_CFG_IBSS_ATIM_WIN_SIZE,
- WNI_CFG_DFS_MASTER_ENABLED,
WNI_CFG_VHT_ENABLE_TXBF_20MHZ,
WNI_CFG_MAX_HT_MCS_TX_DATA,
WNI_CFG_DISABLE_ABG_RATE_FOR_TX_DATA,
@@ -899,10 +898,6 @@ enum {
#define WNI_CFG_IBSS_ATIM_WIN_SIZE_STAMAX 100
#define WNI_CFG_IBSS_ATIM_WIN_SIZE_STADEF 0
-#define WNI_CFG_DFS_MASTER_ENABLED_STAMIN 0
-#define WNI_CFG_DFS_MASTER_ENABLED_STAMAX 1
-#define WNI_CFG_DFS_MASTER_ENABLED_STADEF 0
-
#define WNI_CFG_VHT_ENABLE_TXBF_20MHZ_STAMIN 0
#define WNI_CFG_VHT_ENABLE_TXBF_20MHZ_STAMAX 1
#define WNI_CFG_VHT_ENABLE_TXBF_20MHZ_STADEF 0
diff --git a/core/mac/src/cfg/cfg_param_name.c b/core/mac/src/cfg/cfg_param_name.c
index 588749ecb35c..852dd65f5a42 100644
--- a/core/mac/src/cfg/cfg_param_name.c
+++ b/core/mac/src/cfg/cfg_param_name.c
@@ -131,7 +131,6 @@ const char *cfg_get_string(uint16_t cfg_id)
CASE_RETURN_STRING(WNI_CFG_DISABLE_LDPC_WITH_TXBF_AP);
CASE_RETURN_STRING(WNI_CFG_RMC_ACTION_PERIOD_FREQUENCY);
CASE_RETURN_STRING(WNI_CFG_IBSS_ATIM_WIN_SIZE);
- CASE_RETURN_STRING(WNI_CFG_DFS_MASTER_ENABLED);
CASE_RETURN_STRING(WNI_CFG_VHT_ENABLE_TXBF_20MHZ);
CASE_RETURN_STRING(WNI_CFG_MAX_HT_MCS_TX_DATA);
CASE_RETURN_STRING(WNI_CFG_DISABLE_ABG_RATE_FOR_TX_DATA);
diff --git a/core/mac/src/cfg/cfg_proc_msg.c b/core/mac/src/cfg/cfg_proc_msg.c
index e60baae6614d..d53104e29c03 100644
--- a/core/mac/src/cfg/cfg_proc_msg.c
+++ b/core/mac/src/cfg/cfg_proc_msg.c
@@ -525,11 +525,6 @@ cgstatic cfg_static[CFG_PARAM_MAX_NUM] = {
WNI_CFG_IBSS_ATIM_WIN_SIZE_STAMIN,
WNI_CFG_IBSS_ATIM_WIN_SIZE_STAMAX,
WNI_CFG_IBSS_ATIM_WIN_SIZE_STADEF},
- {WNI_CFG_DFS_MASTER_ENABLED,
- CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
- WNI_CFG_DFS_MASTER_ENABLED_STAMIN,
- WNI_CFG_DFS_MASTER_ENABLED_STAMAX,
- WNI_CFG_DFS_MASTER_ENABLED_STADEF},
{WNI_CFG_VHT_ENABLE_TXBF_20MHZ,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
WNI_CFG_VHT_ENABLE_TXBF_20MHZ_STAMIN,
diff --git a/core/mac/src/pe/lim/lim_process_sme_req_messages.c b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
index 90301ce767ef..f3e86207f3f0 100644
--- a/core/mac/src/pe/lim/lim_process_sme_req_messages.c
+++ b/core/mac/src/pe/lim/lim_process_sme_req_messages.c
@@ -1036,15 +1036,10 @@ __lim_handle_sme_start_bss_request(tpAniSirGlobal mac_ctx, uint32_t *msg_buf)
if (session->lim11hEnable &&
(eSIR_INFRA_AP_MODE ==
mlm_start_req->bssType)) {
- qdf_status =
- wlan_cfg_get_int(mac_ctx,
- WNI_CFG_DFS_MASTER_ENABLED,
- &val);
- session->lim11hEnable = val;
+ session->lim11hEnable =
+ mac_ctx->mlme_cfg->
+ dfs_cfg.dfs_master_capable;
}
- if (QDF_IS_STATUS_ERROR(qdf_status))
- /* Failed get CFG WNI_CFG_DFS_MASTER_ENABLED */
- pe_err("Get Fail, CFG DFS ENABLE");
}
if (!session->lim11hEnable) {
diff --git a/core/sap/src/sap_ch_select.c b/core/sap/src/sap_ch_select.c
index b6bba1e80a8d..c9811a3339f8 100644
--- a/core/sap/src/sap_ch_select.c
+++ b/core/sap/src/sap_ch_select.c
@@ -589,7 +589,6 @@ static bool sap_chan_sel_init(tHalHandle halHandle,
#ifdef FEATURE_WLAN_CH_AVOID
uint16_t i;
#endif
- uint32_t dfs_master_cap_enabled;
bool include_dfs_ch = true;
uint8_t chan_num;
bool sta_sap_scc_on_dfs_chan =
@@ -622,9 +621,7 @@ static bool sap_chan_sel_init(tHalHandle halHandle,
if (sap_ctx->dfs_ch_disable == true)
include_dfs_ch = false;
#endif
- sme_cfg_get_int(halHandle, WNI_CFG_DFS_MASTER_ENABLED,
- &dfs_master_cap_enabled);
- if (dfs_master_cap_enabled == 0 ||
+ if (!pMac->mlme_cfg->dfs_cfg.dfs_master_capable ||
ACS_DFS_MODE_DISABLE == sap_ctx->dfs_mode)
include_dfs_ch = false;
@@ -2559,7 +2556,6 @@ static uint8_t sap_select_channel_no_scan_result(tHalHandle hal,
{
enum channel_state ch_type;
uint8_t i, first_safe_ch_in_range = SAP_CHANNEL_NOT_SELECTED;
- uint32_t dfs_master_cap_enabled;
uint32_t start_ch_num = sap_ctx->acs_cfg->start_ch;
uint32_t end_ch_num = sap_ctx->acs_cfg->end_ch;
tpAniSirGlobal mac_ctx = NULL;
@@ -2569,12 +2565,6 @@ static uint8_t sap_select_channel_no_scan_result(tHalHandle hal,
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_INFO_HIGH,
FL("start - end: %d - %d"), start_ch_num, end_ch_num);
- sme_cfg_get_int(hal, WNI_CFG_DFS_MASTER_ENABLED,
- &dfs_master_cap_enabled);
-
- QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_INFO_HIGH,
- "%s: dfs_master %x", __func__, dfs_master_cap_enabled);
-
/* get a channel in PCL and within the range */
for (i = 0; i < sap_ctx->acs_cfg->pcl_ch_count; i++) {
if ((sap_ctx->acs_cfg->pcl_channels[i] < start_ch_num) ||
@@ -2599,8 +2589,8 @@ static uint8_t sap_select_channel_no_scan_result(tHalHandle hal,
if ((ch_type == CHANNEL_STATE_DISABLE) ||
(ch_type == CHANNEL_STATE_INVALID))
continue;
- if ((!dfs_master_cap_enabled) &&
- (CHANNEL_STATE_DFS == ch_type)) {
+ if ((!mac_ctx->mlme_cfg->dfs_cfg.dfs_master_capable) &&
+ (CHANNEL_STATE_DFS == ch_type)) {
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_INFO_HIGH,
"%s: DFS master mode disabled. Skip DFS channel %d",
__func__, safe_channels[i].channelNumber);