diff --git a/core/hdd/inc/wlan_hdd_cfg.h b/core/hdd/inc/wlan_hdd_cfg.h index 854c7d59b345..909e46e98d56 100644 --- a/core/hdd/inc/wlan_hdd_cfg.h +++ b/core/hdd/inc/wlan_hdd_cfg.h @@ -196,6 +196,25 @@ struct hdd_context; #define CFG_11D_SUPPORT_ENABLED_MAX WNI_CFG_11D_ENABLED_STAMAX #define CFG_11D_SUPPORT_ENABLED_DEFAULT WNI_CFG_11D_ENABLED_STADEF /* Default is ON */ +/* + * + * enable_11d_in_world_mode - enable 11d in world mode + * @Min: 0 + * @Max: 1 + * @Default: 0 + * + * This ini enables 11d in world mode, irrespective of value of + * g11dSupportEnabled + * + * Usage: External + * + * + */ + #define CFG_ENABLE_11D_IN_WORLD_MODE_NAME "enable_11d_in_world_mode" + #define CFG_ENABLE_11D_IN_WORLD_MODE_MIN (0) + #define CFG_ENABLE_11D_IN_WORLD_MODE_MAX (1) + #define CFG_ENABLE_11D_IN_WORLD_MODE_DEFAULT (0) + #define CFG_11H_SUPPORT_ENABLED_NAME "g11hSupportEnabled" #define CFG_11H_SUPPORT_ENABLED_MIN (0) #define CFG_11H_SUPPORT_ENABLED_MAX (1) @@ -14594,6 +14613,7 @@ struct hdd_config { uint32_t num_disallowed_aps; bool oce_sta_enabled; bool oce_sap_enabled; + bool enable_11d_in_world_mode; /* 5G preference parameters for boosting RSSI */ bool enable_5g_band_pref; int8_t rssi_boost_threshold_5g; diff --git a/core/hdd/src/wlan_hdd_cfg.c b/core/hdd/src/wlan_hdd_cfg.c index e3401d5a814c..b895ff6f9fc9 100644 --- a/core/hdd/src/wlan_hdd_cfg.c +++ b/core/hdd/src/wlan_hdd_cfg.c @@ -4477,6 +4477,13 @@ struct reg_table_entry g_registry_table[] = { CFG_OCE_ENABLE_SAP_MIN, CFG_OCE_ENABLE_SAP_MAX), + REG_VARIABLE(CFG_ENABLE_11D_IN_WORLD_MODE_NAME, WLAN_PARAM_Integer, + struct hdd_config, enable_11d_in_world_mode, + VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, + CFG_ENABLE_11D_IN_WORLD_MODE_DEFAULT, + CFG_ENABLE_11D_IN_WORLD_MODE_MIN, + CFG_ENABLE_11D_IN_WORLD_MODE_MAX), + REG_VARIABLE(CFG_ENABLE_5G_BAND_PREF_NAME, WLAN_PARAM_Integer, struct hdd_config, enable_5g_band_pref, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, diff --git a/core/hdd/src/wlan_hdd_regulatory.c b/core/hdd/src/wlan_hdd_regulatory.c index f4435be02a6b..48ab2baef5ff 100644 --- a/core/hdd/src/wlan_hdd_regulatory.c +++ b/core/hdd/src/wlan_hdd_regulatory.c @@ -221,6 +221,8 @@ static void reg_program_config_vars(struct hdd_context *hdd_ctx, restart_beaconing_on_chan_avoid_event; config_vars->enable_srd_chan_in_master_mode = hdd_ctx->config->etsi13_srd_chan_in_master_mode; + config_vars->enable_11d_in_world_mode = + hdd_ctx->config->enable_11d_in_world_mode; }