mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-09 13:49:24 -04:00
Merge "qcacld-3.0: Enable/disable first DFS channel scan through ini" into wlan-cld3.driver.lnx.2.0
This commit is contained in:
commit
adfa9ead02
7 changed files with 33 additions and 57 deletions
|
|
@ -185,21 +185,6 @@ enum hdd_dot11_mode {
|
|||
#define CFG_CHANNEL_BONDING_MODE_MAX WNI_CFG_CHANNEL_BONDING_MODE_STAMAX
|
||||
#define CFG_CHANNEL_BONDING_MODE_DEFAULT WNI_CFG_CHANNEL_BONDING_MODE_STADEF
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gEnableDFSChnlScan - Enable DFS channel scan
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 1
|
||||
*
|
||||
* This ini is used to enable or disable DFS channel
|
||||
* scan
|
||||
*/
|
||||
#define CFG_ENABLE_DFS_CHNL_SCAN_NAME "gEnableDFSChnlScan"
|
||||
#define CFG_ENABLE_DFS_CHNL_SCAN_MIN (0)
|
||||
#define CFG_ENABLE_DFS_CHNL_SCAN_MAX (1)
|
||||
#define CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT (1)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gEnableDFSPnoChnlScan - enable dfs channels in PNO scan
|
||||
|
|
@ -586,27 +571,6 @@ enum hdd_dot11_mode {
|
|||
#define CFG_TL_DELAYED_TRGR_FRM_INT_MAX (4294967295UL)
|
||||
#define CFG_TL_DELAYED_TRGR_FRM_INT_DEFAULT 3000
|
||||
|
||||
/*
|
||||
* gEnableDFSChnlScan - enable dfs channel scan.
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 1
|
||||
*
|
||||
* This ini is used to enable/disable dfs channels in scan, enabling this
|
||||
* will enable driver to include dfs channels in its scan list.
|
||||
* Related: NA
|
||||
*
|
||||
* Supported Feature: DFS, Scan
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_ENABLE_DFS_CHNL_SCAN_NAME "gEnableDFSChnlScan"
|
||||
#define CFG_ENABLE_DFS_CHNL_SCAN_MIN (0)
|
||||
#define CFG_ENABLE_DFS_CHNL_SCAN_MAX (1)
|
||||
#define CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT (1)
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gEnableSNRMonitoring - Enables SNR Monitoring
|
||||
|
|
@ -1007,7 +971,6 @@ struct hdd_config {
|
|||
#ifdef ENABLE_MTRACE_LOG
|
||||
bool enable_mtrace;
|
||||
#endif
|
||||
uint8_t enableDFSChnlScan;
|
||||
uint8_t enable_dfs_pno_chnl_scan;
|
||||
bool prevent_link_down;
|
||||
uint8_t scanAgingTimeout;
|
||||
|
|
|
|||
|
|
@ -91,13 +91,6 @@ struct reg_table_entry g_registry_table[] = {
|
|||
CFG_TL_DELAYED_TRGR_FRM_INT_MIN,
|
||||
CFG_TL_DELAYED_TRGR_FRM_INT_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, enableDFSChnlScan,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
CFG_ENABLE_DFS_CHNL_SCAN_DEFAULT,
|
||||
CFG_ENABLE_DFS_CHNL_SCAN_MIN,
|
||||
CFG_ENABLE_DFS_CHNL_SCAN_MAX),
|
||||
|
||||
REG_VARIABLE(CFG_ENABLE_DFS_PNO_CHNL_SCAN_NAME, WLAN_PARAM_Integer,
|
||||
struct hdd_config, enable_dfs_pno_chnl_scan,
|
||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||
|
|
@ -1809,6 +1802,7 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
|||
tSmeConfigParams *smeConfig;
|
||||
mac_handle_t mac_handle = hdd_ctx->mac_handle;
|
||||
bool roam_scan_enabled;
|
||||
bool enable_dfs_scan = true;
|
||||
#ifdef FEATURE_WLAN_ESE
|
||||
bool ese_enabled;
|
||||
#endif
|
||||
|
|
@ -1856,8 +1850,9 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
|||
smeConfig->csrConfig.AdHocChannel24 = ibss_cfg.adhoc_ch_2g;
|
||||
smeConfig->csrConfig.ProprietaryRatesEnabled = 0;
|
||||
smeConfig->csrConfig.HeartbeatThresh50 = 40;
|
||||
smeConfig->csrConfig.fEnableDFSChnlScan = pConfig->enableDFSChnlScan;
|
||||
|
||||
ucfg_scan_cfg_get_dfs_chan_scan_allowed(hdd_ctx->psoc,
|
||||
&enable_dfs_scan);
|
||||
smeConfig->csrConfig.fEnableDFSChnlScan = enable_dfs_scan;
|
||||
smeConfig->csrConfig.Csr11dinfo.Channels.numChannels = 0;
|
||||
|
||||
hdd_set_power_save_offload_config(hdd_ctx);
|
||||
|
|
|
|||
|
|
@ -134,6 +134,7 @@
|
|||
#include "nan_ucfg_api.h"
|
||||
#include "wlan_fwol_ucfg_api.h"
|
||||
#include "wlan_cfg80211_crypto.h"
|
||||
#include "wlan_scan_ucfg_api.h"
|
||||
|
||||
#define g_mode_rates_size (12)
|
||||
#define a_mode_rates_size (8)
|
||||
|
|
@ -4267,8 +4268,12 @@ int wlan_hdd_enable_dfs_chan_scan(struct hdd_context *hdd_ctx,
|
|||
QDF_STATUS status;
|
||||
bool err;
|
||||
mac_handle_t mac_handle;
|
||||
bool enable_dfs_scan = true;
|
||||
|
||||
if (enable_dfs_channels == hdd_ctx->config->enableDFSChnlScan) {
|
||||
ucfg_scan_cfg_get_dfs_chan_scan_allowed(hdd_ctx->psoc,
|
||||
&enable_dfs_scan);
|
||||
|
||||
if (enable_dfs_channels == enable_dfs_scan) {
|
||||
hdd_debug("DFS channels are already %s",
|
||||
enable_dfs_channels ? "enabled" : "disabled");
|
||||
return 0;
|
||||
|
|
@ -4286,7 +4291,8 @@ int wlan_hdd_enable_dfs_chan_scan(struct hdd_context *hdd_ctx,
|
|||
return -EOPNOTSUPP;
|
||||
}
|
||||
|
||||
hdd_ctx->config->enableDFSChnlScan = enable_dfs_channels;
|
||||
ucfg_scan_cfg_set_dfs_chan_scan_allowed(hdd_ctx->psoc,
|
||||
enable_dfs_channels);
|
||||
|
||||
mac_handle = hdd_ctx->mac_handle;
|
||||
status = sme_enable_dfs_chan_scan(mac_handle, enable_dfs_channels);
|
||||
|
|
@ -4327,7 +4333,7 @@ static int __wlan_hdd_cfg80211_disable_dfs_chan_scan(struct wiphy *wiphy,
|
|||
struct nlattr *tb[QCA_WLAN_VENDOR_ATTR_SET_NO_DFS_FLAG_MAX + 1];
|
||||
int ret_val;
|
||||
uint32_t no_dfs_flag = 0;
|
||||
|
||||
bool enable_dfs_scan = true;
|
||||
hdd_enter_dev(dev);
|
||||
|
||||
ret_val = wlan_hdd_validate_context(hdd_ctx);
|
||||
|
|
@ -4356,13 +4362,15 @@ static int __wlan_hdd_cfg80211_disable_dfs_chan_scan(struct wiphy *wiphy,
|
|||
hdd_err("invalid value of dfs flag");
|
||||
return -EINVAL;
|
||||
}
|
||||
ucfg_scan_cfg_get_dfs_chan_scan_allowed(hdd_ctx->psoc,
|
||||
&enable_dfs_scan);
|
||||
|
||||
if (hdd_ctx->config->enableDFSChnlScan) {
|
||||
if (enable_dfs_scan) {
|
||||
ret_val = wlan_hdd_enable_dfs_chan_scan(hdd_ctx, !no_dfs_flag);
|
||||
} else {
|
||||
if ((!no_dfs_flag) != hdd_ctx->config->enableDFSChnlScan) {
|
||||
if ((!no_dfs_flag) != enable_dfs_scan) {
|
||||
hdd_err("DFS chan ini configured %d, no dfs flag: %d",
|
||||
hdd_ctx->config->enableDFSChnlScan,
|
||||
enable_dfs_scan,
|
||||
no_dfs_flag);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4739,6 +4739,7 @@ int wlan_hdd_cfg80211_start_bss(struct hdd_adapter *adapter,
|
|||
bool sap_force_11n_for_11ac = 0;
|
||||
bool go_force_11n_for_11ac = 0;
|
||||
bool bval = false, ap_obss_prot = false, sap_uapsd = true;
|
||||
bool enable_dfs_scan = true;
|
||||
|
||||
hdd_enter();
|
||||
|
||||
|
|
@ -4964,9 +4965,11 @@ int wlan_hdd_cfg80211_start_bss(struct hdd_adapter *adapter,
|
|||
ret = -EINVAL;
|
||||
goto error;
|
||||
}
|
||||
ucfg_scan_cfg_get_dfs_chan_scan_allowed(hdd_ctx->psoc,
|
||||
&enable_dfs_scan);
|
||||
|
||||
/* reject SAP if DFS channel scan is not allowed */
|
||||
if (!(hdd_ctx->config->enableDFSChnlScan) &&
|
||||
if (!(enable_dfs_scan) &&
|
||||
(CHANNEL_STATE_DFS ==
|
||||
wlan_reg_get_channel_state(hdd_ctx->pdev,
|
||||
pConfig->channel))) {
|
||||
|
|
|
|||
|
|
@ -1960,6 +1960,7 @@ static int __iw_get_channel_list(struct net_device *dev,
|
|||
struct hdd_adapter *hostapd_adapter = (netdev_priv(dev));
|
||||
struct channel_list_info *channel_list =
|
||||
(struct channel_list_info *) extra;
|
||||
bool enable_dfs_scan = true;
|
||||
enum band_info cur_band = BAND_ALL;
|
||||
struct hdd_context *hdd_ctx;
|
||||
int ret;
|
||||
|
|
@ -1993,9 +1994,10 @@ static int __iw_get_channel_list(struct net_device *dev,
|
|||
|
||||
if (cur_band != BAND_2G)
|
||||
band_end_channel = MAX_5GHZ_CHANNEL;
|
||||
|
||||
ucfg_scan_cfg_get_dfs_chan_scan_allowed(hdd_ctx->psoc,
|
||||
&enable_dfs_scan);
|
||||
if (hostapd_adapter->device_mode == QDF_STA_MODE &&
|
||||
hdd_ctx->config->enableDFSChnlScan) {
|
||||
enable_dfs_scan) {
|
||||
is_dfs_mode_enabled = true;
|
||||
} else if (hostapd_adapter->device_mode == QDF_SAP_MODE) {
|
||||
if (QDF_STATUS_SUCCESS != ucfg_mlme_get_dfs_master_capability(
|
||||
|
|
|
|||
|
|
@ -9068,7 +9068,8 @@ static void hdd_override_ini_config(struct hdd_context *hdd_ctx)
|
|||
QDF_STATUS status;
|
||||
|
||||
if (0 == enable_dfs_chan_scan || 1 == enable_dfs_chan_scan) {
|
||||
hdd_ctx->config->enableDFSChnlScan = enable_dfs_chan_scan;
|
||||
ucfg_scan_cfg_set_dfs_chan_scan_allowed(hdd_ctx->psoc,
|
||||
enable_dfs_chan_scan);
|
||||
hdd_debug("Module enable_dfs_chan_scan set to %d",
|
||||
enable_dfs_chan_scan);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -216,6 +216,7 @@ static void reg_program_config_vars(struct hdd_context *hdd_ctx,
|
|||
QDF_STATUS status;
|
||||
bool country_priority = 0;
|
||||
bool value = false;
|
||||
bool enable_dfs_scan = true;
|
||||
|
||||
status = ucfg_mlme_get_band_capability(hdd_ctx->psoc, &band_capability);
|
||||
if (QDF_IS_STATUS_ERROR(status))
|
||||
|
|
@ -238,7 +239,10 @@ static void reg_program_config_vars(struct hdd_context *hdd_ctx,
|
|||
&country_priority);
|
||||
config_vars->userspace_ctry_priority = country_priority;
|
||||
|
||||
config_vars->dfs_enabled = hdd_ctx->config->enableDFSChnlScan;
|
||||
ucfg_scan_cfg_get_dfs_chan_scan_allowed(hdd_ctx->psoc,
|
||||
&enable_dfs_scan);
|
||||
|
||||
config_vars->dfs_enabled = enable_dfs_scan;
|
||||
|
||||
ucfg_mlme_get_indoor_channel_support(hdd_ctx->psoc,
|
||||
&indoor_chan_enabled);
|
||||
|
|
|
|||
Loading…
Reference in a new issue