diff --git a/components/pmo/core/src/wlan_pmo_main.c b/components/pmo/core/src/wlan_pmo_main.c index 3af7dc4774d8..d337b5aad85f 100644 --- a/components/pmo/core/src/wlan_pmo_main.c +++ b/components/pmo/core/src/wlan_pmo_main.c @@ -148,6 +148,20 @@ static void wlan_pmo_runtime_pm_init_cfg(struct wlan_objmgr_psoc *psoc, } #endif +#if FEATURE_WLAN_RA_FILTERING +static void wlan_pmo_ra_filtering_init_cfg(struct wlan_objmgr_psoc *psoc, + struct pmo_psoc_cfg *psoc_cfg) +{ + psoc_cfg->ra_ratelimit_interval = + cfg_get(psoc, CFG_RA_RATE_LIMIT_INTERVAL); +} +#else +static void wlan_pmo_ra_filtering_init_cfg(struct wlan_objmgr_psoc *psoc, + struct pmo_psoc_cfg *psoc_cfg) +{ +} +#endif + static void wlan_pmo_init_cfg(struct wlan_objmgr_psoc *psoc, struct pmo_psoc_cfg *psoc_cfg) { @@ -182,6 +196,11 @@ static void wlan_pmo_init_cfg(struct wlan_objmgr_psoc *psoc, psoc_cfg->enable_sap_suspend = cfg_get(psoc, CFG_ENABLE_SAP_SUSPEND); psoc_cfg->wow_data_inactivity_timeout = cfg_get(psoc, CFG_PMO_WOW_DATA_INACTIVITY_TIMEOUT); + psoc_cfg->active_uc_apf_mode = + cfg_get(psoc, CFG_ACTIVE_UC_APF_MODE); + psoc_cfg->active_mc_bc_apf_mode = + cfg_get(psoc, CFG_ACTIVE_MC_BC_APF_MODE); + wlan_pmo_ra_filtering_init_cfg(psoc, psoc_cfg); } QDF_STATUS pmo_psoc_open(struct wlan_objmgr_psoc *psoc) diff --git a/components/pmo/dispatcher/inc/wlan_pmo_apf_cfg.h b/components/pmo/dispatcher/inc/wlan_pmo_apf_cfg.h index 4419d26b62b8..c15549b648c6 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_apf_cfg.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_apf_cfg.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012-2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2012-2019 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 @@ -38,7 +38,63 @@ 1, \ "Enable APF Support") +/* + * + * gActiveUcBpfMode - Control UC active APF mode + * @Min: 0 (disabled) + * @Max: 2 (adaptive) + * @Default: 0 (disabled) + * + * This config item controls UC APF in active mode. There are 3 modes: + * 0) disabled - APF is disabled in active mode + * 1) enabled - APF is enabled for all packets in active mode + * 2) adaptive - APF is enabled for packets up to some throughput threshold + * + * Related: gActiveMcBcBpfMode + * + * Supported Feature: Active Mode APF + * + * Usage: Internal/External + * + */ +#define CFG_ACTIVE_UC_APF_MODE CFG_INI_UINT( \ + "gActiveUcBpfMode", \ + ACTIVE_APF_DISABLED, \ + (ACTIVE_APF_MODE_COUNT - 1), \ + ACTIVE_APF_DISABLED, \ + CFG_VALUE_OR_DEFAULT, \ + "Control UC active APF mode") + +/* + * + * gActiveMcBcBpfMode - Control MC/BC active APF mode + * @Min: 0 (disabled) + * @Max: 1 (enabled) + * @Default: 0 (disabled) + * + * This config item controls MC/BC APF in active mode. There are 3 modes: + * 0) disabled - APF is disabled in active mode + * 1) enabled - APF is enabled for all packets in active mode + * 2) adaptive - APF is enabled for packets up to some throughput threshold + * + * Related: gActiveUcBpfMode + * + * Supported Feature: Active Mode APF + * + * Usage: Internal/External + * + */ +#define CFG_ACTIVE_MC_BC_APF_MODE CFG_INI_UINT( \ + "gActiveUcBpfMode", \ + ACTIVE_APF_DISABLED, \ + ACTIVE_APF_ENABLED, \ + ACTIVE_APF_DISABLED, \ + CFG_VALUE_OR_DEFAULT, \ + "Control MC/BC active APF mode") + #define CFG_PMO_APF_ALL \ - CFG(CFG_PMO_APF_ENABLE) + CFG(CFG_PMO_APF_ENABLE) \ + CFG(CFG_ACTIVE_UC_APF_MODE) \ + CFG(CFG_ACTIVE_MC_BC_APF_MODE) #endif /* WLAN_PMO_APF_CFG_H__ */ diff --git a/components/pmo/dispatcher/inc/wlan_pmo_common_cfg.h b/components/pmo/dispatcher/inc/wlan_pmo_common_cfg.h index 88993cfd7cbd..35e438bb06e5 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_common_cfg.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_common_cfg.h @@ -389,6 +389,25 @@ 50, \ CFG_VALUE_OR_DEFAULT, \ "Data activity timeout in wow mode") +/* + * + * gRArateLimitInterval - RA rate limit interval + * @Min: 60 + * @Max: 3600 + * @Default: 60 + * This ini is used to set RA rate limit interval. + * + * Usage: External + * + * + */ +#define CFG_RA_RATE_LIMIT_INTERVAL CFG_INI_UINT( \ + "gRArateLimitInterval", \ + 60, \ + 3600, \ + 60, \ + CFG_VALUE_OR_DEFAULT, \ + "RA rate limit interval") #define CFG_PMO_COMMON_ALL \ CFG(CFG_ENABLE_SAP_SUSPEND) \ @@ -406,6 +425,7 @@ CFG(CFG_PMO_WOW_ENABLE) \ CFG(CFG_PMO_ACTIVE_MODE) \ CFG(CFG_PMO_PWR_FAILURE) \ - CFG(CFG_PMO_WOW_DATA_INACTIVITY_TIMEOUT) + CFG(CFG_PMO_WOW_DATA_INACTIVITY_TIMEOUT) \ + CFG(CFG_RA_RATE_LIMIT_INTERVAL) #endif /* WLAN_PMO_COMMON_CFG_H__ */ diff --git a/components/pmo/dispatcher/inc/wlan_pmo_common_public_struct.h b/components/pmo/dispatcher/inc/wlan_pmo_common_public_struct.h index d9241ce7729d..8f55de0b539d 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_common_public_struct.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_common_public_struct.h @@ -279,6 +279,20 @@ enum pmo_auto_pwr_detect_failure_mode { PMO_AUTO_PWR_FAILURE_DETECT_DISABLE }; +/** + * enum active_apf_mode - the modes active APF can operate in + * @ACTIVE_APF_DISABLED: APF is disabled in active mode + * @ACTIVE_APF_ENABLED: APF is enabled for all packets + * @ACTIVE_APF_ADAPTIVE: APF is enabled for packets up to some threshold + * @ACTIVE_APF_MODE_COUNT: The number of active APF modes + */ +enum active_apf_mode { + ACTIVE_APF_DISABLED = 0, + ACTIVE_APF_ENABLED, + ACTIVE_APF_ADAPTIVE, + ACTIVE_APF_MODE_COUNT +}; + /** * struct pmo_psoc_cfg - user configuration required for pmo * @ptrn_match_enable_all_vdev: true when pattern match is enable for all vdev @@ -325,6 +339,10 @@ enum pmo_auto_pwr_detect_failure_mode { * @wow_pulse_interval_low: The interval of low level in the pulse * @packet_filters_bitmap: Packet filter bitmap configuration * @wow_data_inactivity_timeout: power save wow data inactivity timeout + * @active_uc_apf_mode: Setting that determines how APF is applied in active + * mode for uc packets + * @active_mc_bc_apf_mode: Setting that determines how APF is applied in + * active mode for MC/BC packets */ struct pmo_psoc_cfg { bool ptrn_match_enable_all_vdev; @@ -340,7 +358,9 @@ struct pmo_psoc_cfg { bool ap_arpns_support; bool d0_wow_supported; bool ra_ratelimit_enable; +#if FEATURE_WLAN_RA_FILTERING uint16_t ra_ratelimit_interval; +#endif bool magic_ptrn_enable; bool deauth_enable; bool disassoc_enable; @@ -381,6 +401,8 @@ struct pmo_psoc_cfg { #endif bool enable_sap_suspend; uint8_t wow_data_inactivity_timeout; + enum active_apf_mode active_uc_apf_mode; + enum active_apf_mode active_mc_bc_apf_mode; }; /** diff --git a/components/pmo/dispatcher/inc/wlan_pmo_ucfg_api.h b/components/pmo/dispatcher/inc/wlan_pmo_ucfg_api.h index ee2eae09f6ec..2a766f658cc9 100644 --- a/components/pmo/dispatcher/inc/wlan_pmo_ucfg_api.h +++ b/components/pmo/dispatcher/inc/wlan_pmo_ucfg_api.h @@ -1000,6 +1000,26 @@ ucfg_pmo_set_wow_data_inactivity_timeout(struct wlan_objmgr_psoc *psoc, * Return: pmo packet filter feature enable/disable */ bool ucfg_pmo_is_pkt_filter_enabled(struct wlan_objmgr_psoc *psoc); + +/** + * ucfg_pmo_get_active_uc_apf_mode() - to get the modes active APF + * for MC/BC packets + * @psoc: objmgr psoc handle + * + * Return: the modes active APF + */ +enum active_apf_mode +ucfg_pmo_get_active_uc_apf_mode(struct wlan_objmgr_psoc *psoc); + +/** + * ucfg_pmo_get_active_mc_bc_apf_mode() - to get the modes active APF + * for uc packets + * @psoc: objmgr psoc handle + * + * Return: the modes active APF + */ +enum active_apf_mode +ucfg_pmo_get_active_mc_bc_apf_mode(struct wlan_objmgr_psoc *psoc); #ifdef FEATURE_WLAN_APF /** * ucfg_pmo_is_apf_enabled() - to get apf configuration @@ -1624,6 +1644,18 @@ ucfg_pmo_is_pkt_filter_enabled(struct wlan_objmgr_psoc *psoc) { return false; } + +enum active_apf_mode +ucfg_pmo_get_active_uc_apf_mode(struct wlan_objmgr_psoc *psoc); +{ + return 0; +} + +enum active_apf_mode +ucfg_pmo_get_active_mc_bc_apf_mode(struct wlan_objmgr_psoc *psoc) +{ + return 0; +} #endif /* WLAN_POWER_MANAGEMENT_OFFLOAD */ #ifdef WLAN_FEATURE_EXTWOW_SUPPORT @@ -1819,5 +1851,4 @@ ucfg_pmo_get_runtime_pm_delay(struct wlan_objmgr_psoc *psoc) */ bool ucfg_pmo_get_enable_sap_suspend(struct wlan_objmgr_psoc *psoc); - #endif /* end of _WLAN_PMO_UCFG_API_H_ */ diff --git a/components/pmo/dispatcher/src/wlan_pmo_ucfg_api.c b/components/pmo/dispatcher/src/wlan_pmo_ucfg_api.c index 58dac26ec66e..5dfea84d7111 100644 --- a/components/pmo/dispatcher/src/wlan_pmo_ucfg_api.c +++ b/components/pmo/dispatcher/src/wlan_pmo_ucfg_api.c @@ -806,3 +806,20 @@ bool ucfg_pmo_is_pkt_filter_enabled(struct wlan_objmgr_psoc *psoc) return pmo_psoc_ctx->psoc_cfg.packet_filter_enabled; } + +enum active_apf_mode +ucfg_pmo_get_active_uc_apf_mode(struct wlan_objmgr_psoc *psoc) +{ + struct pmo_psoc_priv_obj *pmo_psoc_ctx = pmo_psoc_get_priv(psoc); + + return pmo_psoc_ctx->psoc_cfg.active_uc_apf_mode; +} + +enum active_apf_mode +ucfg_pmo_get_active_mc_bc_apf_mode(struct wlan_objmgr_psoc *psoc) +{ + struct pmo_psoc_priv_obj *pmo_psoc_ctx = pmo_psoc_get_priv(psoc); + + return pmo_psoc_ctx->psoc_cfg.active_mc_bc_apf_mode; +} + diff --git a/core/cds/inc/cds_config.h b/core/cds/inc/cds_config.h index 51980eb5679d..0e7cd570c73b 100644 --- a/core/cds/inc/cds_config.h +++ b/core/cds/inc/cds_config.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2018 The Linux Foundation. All rights reserved. + * Copyright (c) 2016-2019 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 @@ -42,20 +42,6 @@ enum cfg_sub_20_channel_width { WLAN_SUB_20_CH_WIDTH_10 = 2, }; -/** - * enum active_apf_mode - the modes active APF can operate in - * @ACTIVE_APF_DISABLED: APF is disabled in active mode - * @ACTIVE_APF_ENABLED: APF is enabled for all packets - * @ACTIVE_APF_ADAPTIVE: APF is enabled for packets up to some threshold - * @ACTIVE_APF_MODE_COUNT: The number of active APF modes - */ -enum active_apf_mode { - ACTIVE_APF_DISABLED = 0, - ACTIVE_APF_ENABLED, - ACTIVE_APF_ADAPTIVE, - ACTIVE_APF_MODE_COUNT -}; - /** * struct cds_config_info - Place Holder for cds configuration * @max_station: Max station supported @@ -67,7 +53,6 @@ enum active_apf_mode { * @ap_disable_intrabss_fwd: pass intra-bss-fwd info to txrx module * @ap_maxoffload_peers: max offload peer * @ap_maxoffload_reorderbuffs: max offload reorder buffs - * @ra_ratelimit_interval: RA rate limit value * @is_ra_ratelimit_enabled: Indicate RA rate limit enabled or not * @reorder_offload: is RX re-ordering offloaded to the fw * @dfs_pri_multiplier: dfs radar pri multiplier @@ -81,10 +66,6 @@ enum active_apf_mode { * @tx_chain_mask_cck: Tx chain mask enabled or not * @sub_20_channel_width: Sub 20 MHz ch width, ini intersected with fw cap * @is_fw_timeout: Indicate whether crash host when fw timesout or not - * @active_uc_apf_mode: Setting that determines how APF is applied in active - * mode for uc packets - * @active_mc_bc_apf_mode: Setting that determines how APF is applied in - * active mode for MC/BC packets * @ito_repeat_count: Indicates ito repeated count * @force_target_assert_enabled: Indicate whether target assert enabled or not * @bandcapability: Configured band by user @@ -101,7 +82,6 @@ struct cds_config_info { uint8_t ap_maxoffload_peers; uint8_t ap_maxoffload_reorderbuffs; #ifdef FEATURE_WLAN_RA_FILTERING - uint16_t ra_ratelimit_interval; bool is_ra_ratelimit_enabled; #endif uint8_t reorder_offload; @@ -121,8 +101,6 @@ struct cds_config_info { bool self_recovery_enabled; bool fw_timeout_crash; struct ol_tx_sched_wrr_ac_specs_t ac_specs[TX_WMM_AC_NUM]; - enum active_apf_mode active_uc_apf_mode; - enum active_apf_mode active_mc_bc_apf_mode; uint8_t ito_repeat_count; bool force_target_assert_enabled; uint8_t bandcapability; diff --git a/core/hdd/inc/wlan_hdd_cfg.h b/core/hdd/inc/wlan_hdd_cfg.h index f88a34abe8a5..4e5727f78dff 100644 --- a/core/hdd/inc/wlan_hdd_cfg.h +++ b/core/hdd/inc/wlan_hdd_cfg.h @@ -679,13 +679,6 @@ enum hdd_dot11_mode { #define CFG_ENABLE_SNR_MONITORING_MAX (1) #define CFG_ENABLE_SNR_MONITORING_DEFAULT (0) -#ifdef FEATURE_WLAN_RA_FILTERING -#define CFG_RA_RATE_LIMIT_INTERVAL_NAME "gRArateLimitInterval" -#define CFG_RA_RATE_LIMIT_INTERVAL_MIN (60) -#define CFG_RA_RATE_LIMIT_INTERVAL_MAX (3600) -#define CFG_RA_RATE_LIMIT_INTERVAL_DEFAULT (60) /*60 SEC */ -#endif - #ifdef DHCP_SERVER_OFFLOAD #define CFG_DHCP_SERVER_IP_NAME "gDHCPServerIP" #define CFG_DHCP_SERVER_IP_DEFAULT "" @@ -858,54 +851,6 @@ enum hdd_dot11_mode { #define CFG_ADAPT_DWELL_WIFI_THRESH_MAX (100) #define CFG_ADAPT_DWELL_WIFI_THRESH_DEFAULT (10) -/* - * - * gActiveUcBpfMode - Control UC active APF mode - * @Min: 0 (disabled) - * @Max: 2 (adaptive) - * @Default: 0 (disabled) - * - * This config item controls UC APF in active mode. There are 3 modes: - * 0) disabled - APF is disabled in active mode - * 1) enabled - APF is enabled for all packets in active mode - * 2) adaptive - APF is enabled for packets up to some throughput threshold - * - * Related: gActiveMcBcBpfMode - * - * Supported Feature: Active Mode APF - * - * Usage: Internal/External - * - */ -#define CFG_ACTIVE_UC_APF_MODE_NAME "gActiveUcBpfMode" -#define CFG_ACTIVE_UC_APF_MODE_MIN (ACTIVE_APF_DISABLED) -#define CFG_ACTIVE_UC_APF_MODE_MAX (ACTIVE_APF_MODE_COUNT - 1) -#define CFG_ACTIVE_UC_APF_MODE_DEFAULT (ACTIVE_APF_DISABLED) - -/* - * - * gActiveMcBcBpfMode - Control MC/BC active APF mode - * @Min: 0 (disabled) - * @Max: 1 (enabled) - * @Default: 0 (disabled) - * - * This config item controls MC/BC APF in active mode. There are 3 modes: - * 0) disabled - APF is disabled in active mode - * 1) enabled - APF is enabled for all packets in active mode - * 2) adaptive - APF is enabled for packets up to some throughput threshold - * - * Related: gActiveUcBpfMode - * - * Supported Feature: Active Mode APF - * - * Usage: Internal/External - * - */ -#define CFG_ACTIVE_MC_BC_APF_MODE_NAME "gActiveMcBcBpfMode" -#define CFG_ACTIVE_MC_BC_APF_MODE_MIN (ACTIVE_APF_DISABLED) -#define CFG_ACTIVE_MC_BC_APF_MODE_MAX (ACTIVE_APF_ENABLED) -#define CFG_ACTIVE_MC_BC_APF_MODE_DEFAULT (ACTIVE_APF_DISABLED) - #ifdef WLAN_FEATURE_11AX /* 11AX related INI configuration */ /* @@ -1205,9 +1150,6 @@ struct hdd_config { uint32_t DelayedTriggerFrmInt; -#ifdef FEATURE_WLAN_RA_FILTERING - uint16_t RArateLimitInterval; -#endif #ifdef FEATURE_WLAN_SCAN_PNO bool PnoOffload; #endif @@ -1252,8 +1194,6 @@ struct hdd_config { uint8_t adapt_dwell_wifi_act_threshold; uint16_t sap_tx_leakage_threshold; bool sap_internal_restart; - enum active_apf_mode active_uc_apf_mode; - enum active_apf_mode active_mc_bc_apf_mode; uint8_t he_dynamic_frag_support; #ifdef WLAN_FEATURE_11AX bool enable_ul_mimo; diff --git a/core/hdd/src/wlan_hdd_cfg.c b/core/hdd/src/wlan_hdd_cfg.c index 1c92ad7fdd7e..52e62b36e2c5 100644 --- a/core/hdd/src/wlan_hdd_cfg.c +++ b/core/hdd/src/wlan_hdd_cfg.c @@ -115,15 +115,6 @@ struct reg_table_entry g_registry_table[] = { CFG_TL_DELAYED_TRGR_FRM_INT_MIN, CFG_TL_DELAYED_TRGR_FRM_INT_MAX), -#ifdef FEATURE_WLAN_RA_FILTERING - - REG_VARIABLE(CFG_RA_RATE_LIMIT_INTERVAL_NAME, WLAN_PARAM_Integer, - struct hdd_config, RArateLimitInterval, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_RA_RATE_LIMIT_INTERVAL_DEFAULT, - CFG_RA_RATE_LIMIT_INTERVAL_MIN, - CFG_RA_RATE_LIMIT_INTERVAL_MAX), -#endif REG_VARIABLE(CFG_ENABLE_DFS_CHNL_SCAN_NAME, WLAN_PARAM_Integer, struct hdd_config, enableDFSChnlScan, VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, @@ -310,20 +301,6 @@ struct reg_table_entry g_registry_table[] = { CFG_ADAPT_DWELL_WIFI_THRESH_MIN, CFG_ADAPT_DWELL_WIFI_THRESH_MAX), - REG_VARIABLE(CFG_ACTIVE_UC_APF_MODE_NAME, WLAN_PARAM_Integer, - struct hdd_config, active_uc_apf_mode, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_ACTIVE_UC_APF_MODE_DEFAULT, - CFG_ACTIVE_UC_APF_MODE_MIN, - CFG_ACTIVE_UC_APF_MODE_MAX), - - REG_VARIABLE(CFG_ACTIVE_MC_BC_APF_MODE_NAME, WLAN_PARAM_Integer, - struct hdd_config, active_mc_bc_apf_mode, - VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT, - CFG_ACTIVE_MC_BC_APF_MODE_DEFAULT, - CFG_ACTIVE_MC_BC_APF_MODE_MIN, - CFG_ACTIVE_MC_BC_APF_MODE_MAX), - #ifdef WLAN_FEATURE_11AX REG_VARIABLE(CFG_ENABLE_UL_MIMO_NAME, WLAN_PARAM_Integer, struct hdd_config, enable_ul_mimo, diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index 4116721bf31f..f7cd82b347d5 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -9812,8 +9812,6 @@ static inline void hdd_ra_populate_cds_config(struct cds_config_info *cds_cfg, if (QDF_IS_STATUS_ERROR(status)) return; - cds_cfg->ra_ratelimit_interval = - hdd_ctx->config->RArateLimitInterval; cds_cfg->is_ra_ratelimit_enabled = is_rate_limit_enabled; } #else @@ -9897,8 +9895,6 @@ static int hdd_update_cds_config(struct hdd_context *hdd_ctx) cfg_get(hdd_ctx->psoc, CFG_DP_MAX_MSDUS_PER_RXIND); cds_cfg->self_recovery_enabled = self_recovery; cds_cfg->fw_timeout_crash = fw_timeout_crash; - cds_cfg->active_uc_apf_mode = hdd_ctx->config->active_uc_apf_mode; - cds_cfg->active_mc_bc_apf_mode = hdd_ctx->config->active_mc_bc_apf_mode; cds_cfg->ito_repeat_count = ito_repeat_count; @@ -14223,8 +14219,6 @@ static inline void hdd_ra_populate_pmo_config( if (QDF_IS_STATUS_ERROR(status)) return; - psoc_cfg->ra_ratelimit_interval = - hdd_ctx->config->RArateLimitInterval; psoc_cfg->ra_ratelimit_enable = is_rate_limit_enabled; } diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c index 9fb8ab847f4b..e84ab4f263d2 100644 --- a/core/wma/src/wma_main.c +++ b/core/wma/src/wma_main.c @@ -3317,12 +3317,13 @@ QDF_STATUS wma_open(struct wlan_objmgr_psoc *psoc, wma_handle->ssdp = ucfg_pmo_is_ssdp_enabled(wma_handle->psoc); wma_handle->enable_mc_list = ucfg_pmo_is_mc_addr_list_enabled(wma_handle->psoc); - wma_handle->active_uc_apf_mode = cds_cfg->active_uc_apf_mode; - wma_handle->active_mc_bc_apf_mode = cds_cfg->active_mc_bc_apf_mode; + wma_handle->active_uc_apf_mode = + ucfg_pmo_get_active_uc_apf_mode(wma_handle->psoc); + wma_handle->active_mc_bc_apf_mode = + ucfg_pmo_get_active_mc_bc_apf_mode(wma_handle->psoc); wma_handle->link_stats_results = NULL; #ifdef FEATURE_WLAN_RA_FILTERING wma_handle->IsRArateLimitEnabled = cds_cfg->is_ra_ratelimit_enabled; - wma_handle->RArateLimitInterval = cds_cfg->ra_ratelimit_interval; #endif /* FEATURE_WLAN_RA_FILTERING */ #ifdef WLAN_FEATURE_LPSS wma_handle->is_lpass_enabled = cds_cfg->is_lpass_enabled;