浏览代码

qcacld-3.0: Add MLME OCE CFG items

Add OCE CFG items based on converged cfg component,
remove related legacy code.

Change-Id: I976981048be2df3f429003fc5db13f48a6ad27d0
CRs-Fixed: 2313157
Karthik Kantamneni 6 年之前
父节点
当前提交
6945c1e38d

+ 53 - 1
mlme/core/src/wlan_mlme_main.c

@@ -21,7 +21,7 @@
 
 #include "wlan_mlme_main.h"
 #include "cfg_ucfg_api.h"
-#include "wlan_scan_public_structs.h"
+#include "wmi_unified.h"
 
 struct wlan_mlme_psoc_obj *mlme_get_psoc_obj(struct wlan_objmgr_psoc *psoc)
 {
@@ -640,6 +640,57 @@ static void mlme_init_scoring_cfg(struct wlan_objmgr_psoc *psoc,
 			cfg_get(psoc, CFG_SCORING_OCE_WAN_SCORE_IDX_15_TO_12));
 }
 
+static void mlme_init_oce_cfg(struct wlan_objmgr_psoc *psoc,
+			      struct wlan_mlme_oce *oce)
+{
+	uint8_t val;
+	bool rssi_assoc_reject_enabled;
+	bool probe_req_rate_enabled;
+	bool probe_resp_rate_enabled;
+	bool beacon_rate_enabled;
+	bool probe_req_deferral_enabled;
+	bool fils_discovery_sap_enabled;
+	bool esp_for_roam_enabled;
+
+	oce->enable_bcast_probe_rsp =
+		cfg_get(psoc, CFG_ENABLE_BCAST_PROBE_RESP);
+	oce->oce_sta_enabled = cfg_get(psoc, CFG_OCE_ENABLE_STA);
+	oce->oce_sap_enabled = cfg_get(psoc, CFG_OCE_ENABLE_SAP);
+	oce->fils_enabled = cfg_get(psoc, CFG_IS_FILS_ENABLED);
+
+	rssi_assoc_reject_enabled =
+		cfg_get(psoc, CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT);
+	probe_req_rate_enabled = cfg_get(psoc, CFG_OCE_PROBE_REQ_RATE);
+	probe_resp_rate_enabled = cfg_get(psoc, CFG_OCE_PROBE_RSP_RATE);
+	beacon_rate_enabled = cfg_get(psoc, CFG_OCE_BEACON_RATE);
+	probe_req_deferral_enabled =
+		cfg_get(psoc, CFG_ENABLE_PROBE_REQ_DEFERRAL);
+	fils_discovery_sap_enabled =
+		cfg_get(psoc, CFG_ENABLE_FILS_DISCOVERY_SAP);
+	esp_for_roam_enabled = cfg_get(psoc, CFG_ENABLE_ESP_FEATURE);
+
+	if (!rssi_assoc_reject_enabled ||
+	    !oce->enable_bcast_probe_rsp) {
+		oce->oce_sta_enabled = 0;
+	}
+
+	val = (probe_req_rate_enabled *
+	WMI_VDEV_OCE_PROBE_REQUEST_RATE_FEATURE_BITMAP) +
+	(probe_resp_rate_enabled *
+	WMI_VDEV_OCE_PROBE_RESPONSE_RATE_FEATURE_BITMAP) +
+	(beacon_rate_enabled *
+	WMI_VDEV_OCE_BEACON_RATE_FEATURE_BITMAP) +
+	(probe_req_deferral_enabled *
+	 WMI_VDEV_OCE_PROBE_REQUEST_DEFERRAL_FEATURE_BITMAP) +
+	(fils_discovery_sap_enabled *
+	 WMI_VDEV_OCE_FILS_DISCOVERY_FRAME_FEATURE_BITMAP) +
+	(esp_for_roam_enabled *
+	 WMI_VDEV_OCE_ESP_FEATURE_BITMAP) +
+	(rssi_assoc_reject_enabled *
+	 WMI_VDEV_OCE_REASSOC_REJECT_FEATURE_BITMAP);
+	oce->feature_bitmap = val;
+}
+
 QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
 {
 	struct wlan_mlme_psoc_obj *mlme_obj;
@@ -665,6 +716,7 @@ QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
 	mlme_init_sta_cfg(psoc, &mlme_cfg->sta);
 	mlme_init_lfr_cfg(psoc, &mlme_cfg->lfr);
 	mlme_init_scoring_cfg(psoc, &mlme_cfg->scoring);
+	mlme_init_oce_cfg(psoc, &mlme_cfg->oce);
 
 	return status;
 }

+ 2 - 0
mlme/dispatcher/inc/cfg_mlme.h

@@ -36,6 +36,7 @@
 #include "cfg_sap_protection.h"
 #include "cfg_mlme_sap.h"
 #include "cfg_mlme_scoring.h"
+#include "cfg_mlme_oce.h"
 
 /* Please Maintain Alphabetic Order here */
 #define CFG_MLME_ALL \
@@ -45,6 +46,7 @@
 	CFG_LFR_ALL \
 	CFG_MBO_ALL \
 	CFG_OBSS_HT40_ALL \
+	CFG_OCE_ALL \
 	CFG_QOS_ALL \
 	CFG_RATES_ALL \
 	CFG_SAP_ALL \

+ 287 - 0
mlme/dispatcher/inc/cfg_mlme_oce.h

@@ -0,0 +1,287 @@
+/*
+ * 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_OCE_H
+#define __CFG_MLME_OCE_H
+
+/*
+ * <ini>
+ * g_enable_bcast_probe_rsp - Enable Broadcast probe response.
+ * @Min: 0
+ * @Max: 1
+ * @Default: 1
+ *
+ * This ini is used to enable/disable broadcast probe response.
+ * If this is disabled then OCE ini oce_sta_enable will also be
+ * disabled and OCE IE will not be sent in frames.
+ *
+ * Related: None
+ *
+ * Supported Feature: FILS
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_ENABLE_BCAST_PROBE_RESP CFG_INI_BOOL( \
+		"g_enable_bcast_probe_rsp", \
+		1, \
+		"Enable Broadcast probe response")
+
+/*
+ * <ini>
+ * oce_sta_enable - Enable/disable oce feature for STA
+ * @Min: 0
+ * @Max: 1
+ * @Default: 1
+ *
+ * This ini is used to enable/disable oce feature for STA
+ *
+ * Related: None
+ *
+ * Supported Feature: OCE
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_OCE_ENABLE_STA CFG_INI_BOOL( \
+		"oce_sta_enable", \
+		1, \
+		"Enable/disable oce feature for STA")
+
+/*
+ * <ini>
+ * oce_sap_enable - Enable/disable oce feature for SAP
+ * @Min: 0
+ * @Max: 1
+ * @Default: 1
+ *
+ * This ini is used to enable/disable oce feature for SAP
+ *
+ * Related: None
+ *
+ * Supported Feature: OCE
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_OCE_ENABLE_SAP CFG_INI_BOOL( \
+		"oce_sap_enable", \
+		1, \
+		"Enable/disable oce feature for SAP")
+
+/*
+ * oce_enable_rssi_assoc_reject - Enable/disable rssi based assoc rejection
+ * @Min: 0
+ * @Max: 1
+ * @Default: 1
+ *
+ * This ini is used to enable/disable rssi based assoc rejection. If this is
+ * disabled then OCE ini oce_sta_enable will also be disabled and OCE IE will
+ * not be sent in frames.
+ *
+ * Related: None
+ *
+ * Supported Feature: OCE
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT CFG_INI_BOOL( \
+		"oce_enable_rssi_assoc_reject", \
+		1, \
+		"Enable/disable rssi based assoc rejection")
+
+/*
+ * <ini>
+ * oce_enable_probe_req_rate - Set probe request rate
+ * @Min: 0
+ * @Max: 1
+ * @Default: 0
+ *
+ * This ini is used to set probe request rate to 5.5Mbps as per OCE requirement
+ * in 2.4G band
+ *
+ * Related: None
+ *
+ * Supported Feature: OCE
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_OCE_PROBE_REQ_RATE CFG_INI_BOOL( \
+		"oce_enable_probe_req_rate", \
+		0, \
+		"Set probe request rate for OCE")
+
+/*
+ * <ini>
+ * oce_enable_probe_resp_rate - Set probe response rate
+ * @Min: 0
+ * @Max: 1
+ * @Default: 0
+ *
+ * This ini is used to set probe response rate to 5.5Mbps as per OCE requirement
+ * in 2.4G band
+ *
+ * Related: None
+ *
+ * Supported Feature: OCE
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_OCE_PROBE_RSP_RATE CFG_INI_BOOL( \
+		"oce_enable_probe_resp_rate", \
+		0, \
+		"Set probe response rate for OCE")
+
+/*
+ * <ini>
+ * oce_enable_beacon_rate - Set beacon rate
+ * @Min: 0
+ * @Max: 1
+ * @Default: 0
+ *
+ * This ini is used to set beacon rate to 5.5Mbps as per OCE requirement in
+ * 2.4G band
+ *
+ * Related: None
+ *
+ * Supported Feature: OCE
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_OCE_BEACON_RATE CFG_INI_BOOL( \
+		"oce_enable_beacon_rate", \
+		0, \
+		"Set Beacon rate for OCE")
+/*
+ * <ini>
+ * oce_enable_probe_req_deferral - Enable/disable probe request deferral
+ * @Min: 0
+ * @Max: 1
+ * @Default: 0
+ *
+ * This ini is used to enable/disable probe request deferral as per OCE spec
+ *
+ * Related: None
+ *
+ * Supported Feature: OCE
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_ENABLE_PROBE_REQ_DEFERRAL CFG_INI_BOOL( \
+		"oce_enable_probe_req_deferral", \
+		0, \
+		"Enable/disable probe request deferral for OCE")
+
+/*
+ * <ini>
+ * oce_enable_fils_discovery_sap - Enable/disable fils discovery in sap mode
+ * @Min: 0
+ * @Max: 1
+ * @Default: 1
+ *
+ * This ini is used to enable/disable fils discovery in sap mode
+ *
+ * Related: None
+ *
+ * Supported Feature: FILS
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_ENABLE_FILS_DISCOVERY_SAP CFG_INI_BOOL( \
+		"oce_enable_fils_discovery_sap", \
+		1, \
+		"Enable/disable fils discovery in sap mode")
+
+/*
+ * <ini>
+ * enable_esp_for_roam - Enable/disable esp feature
+ * @Min: 0
+ * @Max: 1
+ * @Default: 0
+ *
+ * This ini is used to enable/disable ESP(Estimated service parameters) IE
+ * parsing and decides whether firmware will include this in its scoring algo.
+ *
+ * Related: None
+ *
+ * Supported Feature: STA
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_ENABLE_ESP_FEATURE CFG_INI_BOOL( \
+		"enable_esp_for_roam", \
+		0, \
+		"Enable/disable esp feature")
+
+/*
+ * <ini>
+ * g_is_fils_enabled - Enable/Disable FILS support in driver
+ * @Min: 0
+ * @Max: 1
+ * @Default: 1
+ *
+ * This ini is used to enable/disable FILS support in driver
+ * Driver will update config to supplicant based on this config.
+ *
+ * Related: None
+ *
+ * Supported Feature: FILS
+ *
+ * Usage: External
+ *
+ * </ini>
+ */
+#define CFG_IS_FILS_ENABLED CFG_INI_BOOL( \
+		"g_is_fils_enabled", \
+		1, \
+		"Enable/disable support")
+
+#define CFG_OCE_ALL \
+	CFG(CFG_ENABLE_BCAST_PROBE_RESP) \
+	CFG(CFG_OCE_ENABLE_STA) \
+	CFG(CFG_OCE_ENABLE_SAP) \
+	CFG(CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT) \
+	CFG(CFG_OCE_PROBE_REQ_RATE) \
+	CFG(CFG_OCE_PROBE_RSP_RATE) \
+	CFG(CFG_OCE_BEACON_RATE) \
+	CFG(CFG_ENABLE_PROBE_REQ_DEFERRAL) \
+	CFG(CFG_ENABLE_FILS_DISCOVERY_SAP) \
+	CFG(CFG_ENABLE_ESP_FEATURE) \
+	CFG(CFG_IS_FILS_ENABLED)
+#endif /* __CFG_MLME_OCE_H */

+ 50 - 0
mlme/dispatcher/inc/wlan_mlme_api.h

@@ -273,4 +273,54 @@ QDF_STATUS wlan_mlme_get_sap_reduced_beacon_interval(struct wlan_objmgr_psoc
 QDF_STATUS wlan_mlme_get_sap_chan_switch_rate_enabled(struct wlan_objmgr_psoc
 						      *psoc, bool *value);
 
+/**
+ * wlan_mlme_get_oce_sta_enabled_info() - Get the OCE feature enable
+ * info for STA
+ * @psoc: pointer to psoc object
+ * @value: pointer to the value which will be filled for the caller
+ *
+ * Return: QDF Status
+ */
+QDF_STATUS wlan_mlme_get_oce_sta_enabled_info(struct wlan_objmgr_psoc *psoc,
+					      bool *value);
+
+/**
+ * wlan_mlme_get_oce_sap_enabled_info() - Get the OCE feature enable
+ * info for SAP
+ * @psoc: pointer to psoc object
+ * @value: pointer to the value which will be filled for the caller
+ *
+ * Return: QDF Status
+ */
+QDF_STATUS wlan_mlme_get_oce_sap_enabled_info(struct wlan_objmgr_psoc *psoc,
+					      bool *value);
+
+/**
+ * wlan_mlme_get_fils_enabled_info() - Get the fils enable info for driver
+ * @psoc: pointer to psoc object
+ * @value: pointer to the value which will be filled for the caller
+ *
+ * Return: QDF Status
+ */
+QDF_STATUS wlan_mlme_get_fils_enabled_info(struct wlan_objmgr_psoc *psoc,
+					   bool *value);
+/**
+ * wlan_mlme_set_fils_enabled_info() - Set the fils enable info for driver
+ * @psoc: pointer to psoc object
+ * @value: value that needs to be set from the caller
+ *
+ * Return: QDF Status
+ */
+QDF_STATUS wlan_mlme_set_fils_enabled_info(struct wlan_objmgr_psoc *psoc,
+					   bool value);
+
+/**
+ * wlan_mlme_set_enable_bcast_probe_rsp() - Set enable bcast probe resp info
+ * @psoc: pointer to psoc object
+ * @value: value that needs to be set from the caller
+ *
+ * Return: QDF Status
+ */
+QDF_STATUS wlan_mlme_set_enable_bcast_probe_rsp(struct wlan_objmgr_psoc *psoc,
+						bool value);
 #endif /* _WLAN_MLME_API_H_ */

+ 18 - 0
mlme/dispatcher/inc/wlan_mlme_public_struct.h

@@ -617,6 +617,23 @@ struct wlan_mlme_scoring_cfg {
 	uint32_t band_weight_per_index;
 };
 
+/**
+ * struct wlan_mlme_oce - OCE related config items
+ * @enable_bcast_probe_rsp: enable broadcast probe response
+ * @oce_sta_enabled: enable/disable oce feature for sta
+ * @oce_sap_enabled: enable/disable oce feature for sap
+ * @fils_enabled: enable/disable fils support
+ * @feature_bitmap: oce feature bitmap
+ *
+ */
+struct wlan_mlme_oce {
+	bool enable_bcast_probe_rsp;
+	bool oce_sta_enabled;
+	bool oce_sap_enabled;
+	bool fils_enabled;
+	uint8_t feature_bitmap;
+};
+
 /**
  * struct wlan_mlme_cfg - MLME config items
  * @ht_cfg: HT related CFG Items
@@ -643,6 +660,7 @@ struct wlan_mlme_cfg {
 	struct wlan_mlme_cfg_sap sap_cfg;
 	struct wlan_mlme_sta_cfg sta;
 	struct wlan_mlme_scoring_cfg scoring;
+	struct wlan_mlme_oce oce;
 };
 
 #endif

+ 91 - 0
mlme/dispatcher/inc/wlan_mlme_ucfg_api.h

@@ -575,4 +575,95 @@ QDF_STATUS ucfg_mlme_get_sap_chan_switch_rate_enabled(struct wlan_objmgr_psoc
 	return wlan_mlme_get_sap_chan_switch_rate_enabled(psoc, value);
 }
 
+/**
+ * ucfg_mlme_get_oce_sta_enabled_info() - Get OCE feature enable/disable
+ * info for STA
+ *
+ * @psoc: pointer to psoc object
+ * @value: pointer to the value which will be filled for the caller
+ *
+ * Inline UCFG API to be used by HDD/OSIF callers to get the
+ * OCE STA feature enable value
+ *
+ * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
+ */
+static inline
+QDF_STATUS ucfg_mlme_get_oce_sta_enabled_info(struct wlan_objmgr_psoc *psoc,
+					      bool *value)
+{
+	return wlan_mlme_get_oce_sta_enabled_info(psoc, value);
+}
+
+/**
+ * ucfg_mlme_get_oce_sap_enabled_info() - Get OCE feature enable/disable
+ * info for SAP
+ *
+ * @psoc: pointer to psoc object
+ * @value: pointer to the value which will be filled for the caller
+ *
+ * Inline UCFG API to be used by HDD/OSIF callers to get the
+ * OCE SAP feature enable value
+ *
+ * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
+ */
+static inline
+QDF_STATUS ucfg_mlme_get_oce_sap_enabled_info(struct wlan_objmgr_psoc *psoc,
+					      bool *value)
+{
+	return wlan_mlme_get_oce_sap_enabled_info(psoc, value);
+}
+
+/**
+ * ucfg_mlme_get_fils_enabled_info() - Get fils enable/disable info
+ *
+ * @psoc: pointer to psoc object
+ * @value: pointer to the value which will be filled for the caller
+ *
+ * Inline UCFG API to be used by HDD/OSIF callers to get the
+ * fils enable value
+ *
+ * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
+ */
+static inline
+QDF_STATUS ucfg_mlme_get_fils_enabled_info(struct wlan_objmgr_psoc *psoc,
+					   bool *value)
+{
+	return wlan_mlme_get_fils_enabled_info(psoc, value);
+}
+
+/**
+ * ucfg_mlme_set_fils_enabled_info() - Set fils enable info
+ *
+ * @psoc: pointer to psoc object
+ * @value: value that needs to be set from the caller
+ *
+ * Inline UCFG API to be used by HDD/OSIF callers to set the
+ * fils enable value
+ *
+ * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
+ */
+static inline
+QDF_STATUS ucfg_mlme_set_fils_enabled_info(struct wlan_objmgr_psoc *psoc,
+					   bool value)
+{
+	return wlan_mlme_set_fils_enabled_info(psoc, value);
+}
+
+/**
+ * ucfg_mlme_set_enable_bcast_probe_rsp() - Set enable bcast probe resp info
+ *
+ * @psoc: pointer to psoc object
+ * @value: value that needs to be set from the caller
+ *
+ * Inline UCFG API to be used by HDD/OSIF callers to set the
+ * enable bcast probe resp info
+ *
+ * Return: QDF_STATUS_SUCCESS or QDF_STATUS_FAILURE
+ */
+static inline
+QDF_STATUS ucfg_mlme_set_enable_bcast_probe_rsp(struct wlan_objmgr_psoc *psoc,
+						bool value)
+{
+	return wlan_mlme_set_enable_bcast_probe_rsp(psoc, value);
+}
 #endif /* _WLAN_MLME_UCFG_API_H_ */

+ 70 - 0
mlme/dispatcher/src/wlan_mlme_api.c

@@ -448,3 +448,73 @@ QDF_STATUS wlan_mlme_get_sap_chan_switch_rate_enabled(struct wlan_objmgr_psoc
 
 	return QDF_STATUS_SUCCESS;
 }
+
+QDF_STATUS wlan_mlme_get_oce_sta_enabled_info(struct wlan_objmgr_psoc *psoc,
+					      bool *value)
+{
+	struct wlan_mlme_psoc_obj *mlme_obj = mlme_get_psoc_obj(psoc);
+
+	if (!mlme_obj) {
+		mlme_err("Failed to get MLME Obj");
+		return QDF_STATUS_E_FAILURE;
+	}
+
+	*value = mlme_obj->cfg.oce.oce_sta_enabled;
+	return QDF_STATUS_SUCCESS;
+}
+
+QDF_STATUS wlan_mlme_get_oce_sap_enabled_info(struct wlan_objmgr_psoc *psoc,
+					      bool *value)
+{
+	struct wlan_mlme_psoc_obj *mlme_obj = mlme_get_psoc_obj(psoc);
+
+	if (!mlme_obj) {
+		mlme_err("Failed to get MLME Obj");
+		return QDF_STATUS_E_FAILURE;
+	}
+
+	*value = mlme_obj->cfg.oce.oce_sap_enabled;
+	return QDF_STATUS_SUCCESS;
+}
+
+QDF_STATUS wlan_mlme_get_fils_enabled_info(struct wlan_objmgr_psoc *psoc,
+					   bool *value)
+{
+	struct wlan_mlme_psoc_obj *mlme_obj = mlme_get_psoc_obj(psoc);
+
+	if (!mlme_obj) {
+		mlme_err("Failed to get MLME Obj");
+		return QDF_STATUS_E_FAILURE;
+	}
+
+	*value = mlme_obj->cfg.oce.fils_enabled;
+	return QDF_STATUS_SUCCESS;
+}
+
+QDF_STATUS wlan_mlme_set_fils_enabled_info(struct wlan_objmgr_psoc *psoc,
+					   bool value)
+{
+	struct wlan_mlme_psoc_obj *mlme_obj = mlme_get_psoc_obj(psoc);
+
+	if (!mlme_obj) {
+		mlme_err("Failed to get MLME Obj");
+		return QDF_STATUS_E_FAILURE;
+	}
+
+	mlme_obj->cfg.oce.fils_enabled = value;
+	return QDF_STATUS_SUCCESS;
+}
+
+QDF_STATUS wlan_mlme_set_enable_bcast_probe_rsp(struct wlan_objmgr_psoc *psoc,
+						bool value)
+{
+	struct wlan_mlme_psoc_obj *mlme_obj = mlme_get_psoc_obj(psoc);
+
+	if (!mlme_obj) {
+		mlme_err("Failed to get MLME Obj");
+		return QDF_STATUS_E_FAILURE;
+	}
+
+	mlme_obj->cfg.oce.enable_bcast_probe_rsp = value;
+	return QDF_STATUS_SUCCESS;
+}