From 6945c1e38db344a0d4e726fe4764870852c2c950 Mon Sep 17 00:00:00 2001 From: Karthik Kantamneni Date: Tue, 11 Sep 2018 15:45:55 +0530 Subject: [PATCH] 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 --- mlme/core/src/wlan_mlme_main.c | 54 +++- mlme/dispatcher/inc/cfg_mlme.h | 2 + mlme/dispatcher/inc/cfg_mlme_oce.h | 287 ++++++++++++++++++ mlme/dispatcher/inc/wlan_mlme_api.h | 50 +++ mlme/dispatcher/inc/wlan_mlme_public_struct.h | 18 ++ mlme/dispatcher/inc/wlan_mlme_ucfg_api.h | 91 ++++++ mlme/dispatcher/src/wlan_mlme_api.c | 70 +++++ 7 files changed, 571 insertions(+), 1 deletion(-) create mode 100644 mlme/dispatcher/inc/cfg_mlme_oce.h diff --git a/mlme/core/src/wlan_mlme_main.c b/mlme/core/src/wlan_mlme_main.c index fd554acccb..83c0653092 100644 --- a/mlme/core/src/wlan_mlme_main.c +++ b/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; } diff --git a/mlme/dispatcher/inc/cfg_mlme.h b/mlme/dispatcher/inc/cfg_mlme.h index a27fa71583..55689a7575 100644 --- a/mlme/dispatcher/inc/cfg_mlme.h +++ b/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 \ diff --git a/mlme/dispatcher/inc/cfg_mlme_oce.h b/mlme/dispatcher/inc/cfg_mlme_oce.h new file mode 100644 index 0000000000..1b83900484 --- /dev/null +++ b/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 + +/* + * + * 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 + * + * + */ +#define CFG_ENABLE_BCAST_PROBE_RESP CFG_INI_BOOL( \ + "g_enable_bcast_probe_rsp", \ + 1, \ + "Enable Broadcast probe response") + +/* + * + * 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 + * + * + */ +#define CFG_OCE_ENABLE_STA CFG_INI_BOOL( \ + "oce_sta_enable", \ + 1, \ + "Enable/disable oce feature for STA") + +/* + * + * 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 + * + * + */ +#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 + * + * + */ +#define CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT CFG_INI_BOOL( \ + "oce_enable_rssi_assoc_reject", \ + 1, \ + "Enable/disable rssi based assoc rejection") + +/* + * + * 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 + * + * + */ +#define CFG_OCE_PROBE_REQ_RATE CFG_INI_BOOL( \ + "oce_enable_probe_req_rate", \ + 0, \ + "Set probe request rate for OCE") + +/* + * + * 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 + * + * + */ +#define CFG_OCE_PROBE_RSP_RATE CFG_INI_BOOL( \ + "oce_enable_probe_resp_rate", \ + 0, \ + "Set probe response rate for OCE") + +/* + * + * 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 + * + * + */ +#define CFG_OCE_BEACON_RATE CFG_INI_BOOL( \ + "oce_enable_beacon_rate", \ + 0, \ + "Set Beacon rate for OCE") +/* + * + * 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 + * + * + */ +#define CFG_ENABLE_PROBE_REQ_DEFERRAL CFG_INI_BOOL( \ + "oce_enable_probe_req_deferral", \ + 0, \ + "Enable/disable probe request deferral for OCE") + +/* + * + * 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 + * + * + */ +#define CFG_ENABLE_FILS_DISCOVERY_SAP CFG_INI_BOOL( \ + "oce_enable_fils_discovery_sap", \ + 1, \ + "Enable/disable fils discovery in sap mode") + +/* + * + * 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 + * + * + */ +#define CFG_ENABLE_ESP_FEATURE CFG_INI_BOOL( \ + "enable_esp_for_roam", \ + 0, \ + "Enable/disable esp feature") + +/* + * + * 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 + * + * + */ +#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 */ diff --git a/mlme/dispatcher/inc/wlan_mlme_api.h b/mlme/dispatcher/inc/wlan_mlme_api.h index 8489022739..4803ffd485 100644 --- a/mlme/dispatcher/inc/wlan_mlme_api.h +++ b/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_ */ diff --git a/mlme/dispatcher/inc/wlan_mlme_public_struct.h b/mlme/dispatcher/inc/wlan_mlme_public_struct.h index 78b29fd38d..fe1b504a29 100644 --- a/mlme/dispatcher/inc/wlan_mlme_public_struct.h +++ b/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 diff --git a/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h b/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h index ba75766e60..98fc5b2c28 100644 --- a/mlme/dispatcher/inc/wlan_mlme_ucfg_api.h +++ b/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_ */ diff --git a/mlme/dispatcher/src/wlan_mlme_api.c b/mlme/dispatcher/src/wlan_mlme_api.c index 97243d733a..f287bb1160 100644 --- a/mlme/dispatcher/src/wlan_mlme_api.c +++ b/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; +}