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
This commit is contained in:

committed by
Nitesh Shrivastav

parent
19a690098e
commit
2231a23f44
@@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
#include "wlan_mlme_main.h"
|
#include "wlan_mlme_main.h"
|
||||||
#include "cfg_ucfg_api.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)
|
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));
|
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)
|
QDF_STATUS mlme_cfg_on_psoc_enable(struct wlan_objmgr_psoc *psoc)
|
||||||
{
|
{
|
||||||
struct wlan_mlme_psoc_obj *mlme_obj;
|
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_sta_cfg(psoc, &mlme_cfg->sta);
|
||||||
mlme_init_lfr_cfg(psoc, &mlme_cfg->lfr);
|
mlme_init_lfr_cfg(psoc, &mlme_cfg->lfr);
|
||||||
mlme_init_scoring_cfg(psoc, &mlme_cfg->scoring);
|
mlme_init_scoring_cfg(psoc, &mlme_cfg->scoring);
|
||||||
|
mlme_init_oce_cfg(psoc, &mlme_cfg->oce);
|
||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
@@ -36,6 +36,7 @@
|
|||||||
#include "cfg_sap_protection.h"
|
#include "cfg_sap_protection.h"
|
||||||
#include "cfg_mlme_sap.h"
|
#include "cfg_mlme_sap.h"
|
||||||
#include "cfg_mlme_scoring.h"
|
#include "cfg_mlme_scoring.h"
|
||||||
|
#include "cfg_mlme_oce.h"
|
||||||
|
|
||||||
/* Please Maintain Alphabetic Order here */
|
/* Please Maintain Alphabetic Order here */
|
||||||
#define CFG_MLME_ALL \
|
#define CFG_MLME_ALL \
|
||||||
@@ -45,6 +46,7 @@
|
|||||||
CFG_LFR_ALL \
|
CFG_LFR_ALL \
|
||||||
CFG_MBO_ALL \
|
CFG_MBO_ALL \
|
||||||
CFG_OBSS_HT40_ALL \
|
CFG_OBSS_HT40_ALL \
|
||||||
|
CFG_OCE_ALL \
|
||||||
CFG_QOS_ALL \
|
CFG_QOS_ALL \
|
||||||
CFG_RATES_ALL \
|
CFG_RATES_ALL \
|
||||||
CFG_SAP_ALL \
|
CFG_SAP_ALL \
|
||||||
|
287
components/mlme/dispatcher/inc/cfg_mlme_oce.h
Normal file
287
components/mlme/dispatcher/inc/cfg_mlme_oce.h
Normal file
@@ -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 */
|
@@ -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
|
QDF_STATUS wlan_mlme_get_sap_chan_switch_rate_enabled(struct wlan_objmgr_psoc
|
||||||
*psoc, bool *value);
|
*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_ */
|
#endif /* _WLAN_MLME_API_H_ */
|
||||||
|
@@ -617,6 +617,23 @@ struct wlan_mlme_scoring_cfg {
|
|||||||
uint32_t band_weight_per_index;
|
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
|
* struct wlan_mlme_cfg - MLME config items
|
||||||
* @ht_cfg: HT related CFG 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_cfg_sap sap_cfg;
|
||||||
struct wlan_mlme_sta_cfg sta;
|
struct wlan_mlme_sta_cfg sta;
|
||||||
struct wlan_mlme_scoring_cfg scoring;
|
struct wlan_mlme_scoring_cfg scoring;
|
||||||
|
struct wlan_mlme_oce oce;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -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);
|
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_ */
|
#endif /* _WLAN_MLME_UCFG_API_H_ */
|
||||||
|
@@ -448,3 +448,73 @@ QDF_STATUS wlan_mlme_get_sap_chan_switch_rate_enabled(struct wlan_objmgr_psoc
|
|||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
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;
|
||||||
|
}
|
||||||
|
@@ -8851,53 +8851,6 @@ enum hdd_wext_control {
|
|||||||
#define CFG_EXTWOW_TCP_RX_TIMEOUT_DEFAULT (200)
|
#define CFG_EXTWOW_TCP_RX_TIMEOUT_DEFAULT (200)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
|
||||||
* <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_NAME "g_is_fils_enabled"
|
|
||||||
#define CFG_IS_FILS_ENABLED_DEFAULT (1)
|
|
||||||
#define CFG_IS_FILS_ENABLED_MIN (0)
|
|
||||||
#define CFG_IS_FILS_ENABLED_MAX (1)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <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_NAME "g_enable_bcast_probe_rsp"
|
|
||||||
#define CFG_ENABLE_BCAST_PROBE_RESP_MIN (0)
|
|
||||||
#define CFG_ENABLE_BCAST_PROBE_RESP_MAX (1)
|
|
||||||
#define CFG_ENABLE_BCAST_PROBE_RESP_DEFAULT (1)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* arp_ac_category - ARP access category
|
* arp_ac_category - ARP access category
|
||||||
* @Min: 0
|
* @Min: 0
|
||||||
@@ -9708,50 +9661,6 @@ enum hdd_external_acs_policy {
|
|||||||
#define CFG_ITO_REPEAT_COUNT_MAX (5)
|
#define CFG_ITO_REPEAT_COUNT_MAX (5)
|
||||||
#define CFG_ITO_REPEAT_COUNT_DEFAULT (0)
|
#define CFG_ITO_REPEAT_COUNT_DEFAULT (0)
|
||||||
|
|
||||||
/*
|
|
||||||
* <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_NAME "oce_sta_enable"
|
|
||||||
#define CFG_OCE_ENABLE_STA_MIN (0)
|
|
||||||
#define CFG_OCE_ENABLE_STA_MAX (1)
|
|
||||||
#define CFG_OCE_ENABLE_STA_DEFAULT (1)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <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_NAME "oce_sap_enable"
|
|
||||||
#define CFG_OCE_ENABLE_SAP_MIN (0)
|
|
||||||
#define CFG_OCE_ENABLE_SAP_MAX (1)
|
|
||||||
#define CFG_OCE_ENABLE_SAP_DEFAULT (1)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* <ini>
|
* <ini>
|
||||||
* gEnableLPRx - Enable/Disable LPRx
|
* gEnableLPRx - Enable/Disable LPRx
|
||||||
@@ -9990,166 +9899,6 @@ enum hdd_external_acs_policy {
|
|||||||
#define CFG_DFS_BEACON_TX_ENHANCED_MAX (1)
|
#define CFG_DFS_BEACON_TX_ENHANCED_MAX (1)
|
||||||
#define CFG_DFS_BEACON_TX_ENHANCED_DEFAULT (0)
|
#define CFG_DFS_BEACON_TX_ENHANCED_DEFAULT (0)
|
||||||
|
|
||||||
/*
|
|
||||||
* 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_NAME \
|
|
||||||
"oce_enable_rssi_assoc_reject"
|
|
||||||
#define CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT_MIN (0)
|
|
||||||
#define CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT_MAX (1)
|
|
||||||
#define CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT_DEFAULT (1)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <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_NAME "oce_enable_probe_req_rate"
|
|
||||||
#define CFG_OCE_PROBE_REQ_RATE_MIN (0)
|
|
||||||
#define CFG_OCE_PROBE_REQ_RATE_MAX (1)
|
|
||||||
#define CFG_OCE_PROBE_REQ_RATE_DEFAULT (1)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <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_NAME "oce_enable_probe_resp_rate"
|
|
||||||
#define CFG_OCE_PROBE_RSP_RATE_MIN (0)
|
|
||||||
#define CFG_OCE_PROBE_RSP_RATE_MAX (1)
|
|
||||||
#define CFG_OCE_PROBE_RSP_RATE_DEFAULT (0)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <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_NAME "oce_enable_beacon_rate"
|
|
||||||
#define CFG_OCE_BEACON_RATE_MIN (0)
|
|
||||||
#define CFG_OCE_BEACON_RATE_MAX (1)
|
|
||||||
#define CFG_OCE_BEACON_RATE_DEFAULT (0)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <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_NAME "oce_enable_probe_req_deferral"
|
|
||||||
#define CFG_ENABLE_PROBE_REQ_DEFERRAL_MIN (0)
|
|
||||||
#define CFG_ENABLE_PROBE_REQ_DEFERRAL_MAX (1)
|
|
||||||
#define CFG_ENABLE_PROBE_REQ_DEFERRAL_DEFAULT (1)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <ini>
|
|
||||||
* oce_enable_fils_discovery_sap - Enable/disable fils discovery in sap mode
|
|
||||||
* @Min: 0
|
|
||||||
* @Max: 1
|
|
||||||
* @Default: 0
|
|
||||||
*
|
|
||||||
* 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_NAME "oce_enable_fils_discovery_sap"
|
|
||||||
#define CFG_ENABLE_FILS_DISCOVERY_SAP_MIN (0)
|
|
||||||
#define CFG_ENABLE_FILS_DISCOVERY_SAP_MAX (1)
|
|
||||||
#define CFG_ENABLE_FILS_DISCOVERY_SAP_DEFAULT (1)
|
|
||||||
|
|
||||||
/*
|
|
||||||
* <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_NAME "enable_esp_for_roam"
|
|
||||||
#define CFG_ENABLE_ESP_FEATURE_MIN (0)
|
|
||||||
#define CFG_ENABLE_ESP_FEATURE_MAX (1)
|
|
||||||
#define CFG_ENABLE_ESP_FEATURE_DEFAULT (1)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* <ini>
|
* <ini>
|
||||||
* btm_offload_config - Configure BTM
|
* btm_offload_config - Configure BTM
|
||||||
@@ -11643,7 +11392,6 @@ struct hdd_config {
|
|||||||
restart_beaconing_on_chan_avoid_event;
|
restart_beaconing_on_chan_avoid_event;
|
||||||
enum active_apf_mode active_uc_apf_mode;
|
enum active_apf_mode active_uc_apf_mode;
|
||||||
enum active_apf_mode active_mc_bc_apf_mode;
|
enum active_apf_mode active_mc_bc_apf_mode;
|
||||||
bool enable_bcast_probe_rsp;
|
|
||||||
uint8_t he_dynamic_frag_support;
|
uint8_t he_dynamic_frag_support;
|
||||||
#ifdef WLAN_FEATURE_11AX
|
#ifdef WLAN_FEATURE_11AX
|
||||||
bool enable_ul_mimo;
|
bool enable_ul_mimo;
|
||||||
@@ -11687,8 +11435,6 @@ struct hdd_config {
|
|||||||
uint8_t max_mpdus_inampdu;
|
uint8_t max_mpdus_inampdu;
|
||||||
enum pmo_auto_pwr_detect_failure_mode auto_pwr_save_fail_mode;
|
enum pmo_auto_pwr_detect_failure_mode auto_pwr_save_fail_mode;
|
||||||
uint8_t ito_repeat_count;
|
uint8_t ito_repeat_count;
|
||||||
bool oce_sta_enabled;
|
|
||||||
bool oce_sap_enabled;
|
|
||||||
bool enable_11d_in_world_mode;
|
bool enable_11d_in_world_mode;
|
||||||
/* 5G preference parameters for boosting RSSI */
|
/* 5G preference parameters for boosting RSSI */
|
||||||
bool enable_5g_band_pref;
|
bool enable_5g_band_pref;
|
||||||
@@ -11706,7 +11452,6 @@ struct hdd_config {
|
|||||||
int8_t rssi_thresh_offset_5g;
|
int8_t rssi_thresh_offset_5g;
|
||||||
uint32_t scan_11d_interval;
|
uint32_t scan_11d_interval;
|
||||||
bool is_bssid_hint_priority;
|
bool is_bssid_hint_priority;
|
||||||
bool is_fils_enabled;
|
|
||||||
uint16_t wlm_latency_enable;
|
uint16_t wlm_latency_enable;
|
||||||
uint16_t wlm_latency_level;
|
uint16_t wlm_latency_level;
|
||||||
uint32_t wlm_latency_flags_normal;
|
uint32_t wlm_latency_flags_normal;
|
||||||
@@ -11718,13 +11463,6 @@ struct hdd_config {
|
|||||||
#endif
|
#endif
|
||||||
uint8_t enable_phy_reg_retention;
|
uint8_t enable_phy_reg_retention;
|
||||||
uint8_t dfs_beacon_tx_enhanced;
|
uint8_t dfs_beacon_tx_enhanced;
|
||||||
bool rssi_assoc_reject_enabled;
|
|
||||||
bool oce_probe_req_rate_enabled;
|
|
||||||
bool oce_probe_resp_rate_enabled;
|
|
||||||
bool oce_beacon_rate_enabled;
|
|
||||||
bool probe_req_deferral_enabled;
|
|
||||||
bool fils_discovery_sap_enabled;
|
|
||||||
bool esp_for_roam_enabled;
|
|
||||||
uint32_t btm_offload_config;
|
uint32_t btm_offload_config;
|
||||||
#ifdef WLAN_FEATURE_SAE
|
#ifdef WLAN_FEATURE_SAE
|
||||||
bool is_sae_enabled;
|
bool is_sae_enabled;
|
||||||
|
@@ -3652,13 +3652,6 @@ struct reg_table_entry g_registry_table[] = {
|
|||||||
CFG_ACTIVE_MC_BC_APF_MODE_MIN,
|
CFG_ACTIVE_MC_BC_APF_MODE_MIN,
|
||||||
CFG_ACTIVE_MC_BC_APF_MODE_MAX),
|
CFG_ACTIVE_MC_BC_APF_MODE_MAX),
|
||||||
|
|
||||||
REG_VARIABLE(CFG_ENABLE_BCAST_PROBE_RESP_NAME, WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, enable_bcast_probe_rsp,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_ENABLE_BCAST_PROBE_RESP_DEFAULT,
|
|
||||||
CFG_ENABLE_BCAST_PROBE_RESP_MIN,
|
|
||||||
CFG_ENABLE_BCAST_PROBE_RESP_MAX),
|
|
||||||
|
|
||||||
#ifdef WLAN_FEATURE_11AX
|
#ifdef WLAN_FEATURE_11AX
|
||||||
REG_VARIABLE(CFG_ENABLE_UL_MIMO_NAME, WLAN_PARAM_Integer,
|
REG_VARIABLE(CFG_ENABLE_UL_MIMO_NAME, WLAN_PARAM_Integer,
|
||||||
struct hdd_config, enable_ul_mimo,
|
struct hdd_config, enable_ul_mimo,
|
||||||
@@ -3885,20 +3878,6 @@ struct reg_table_entry g_registry_table[] = {
|
|||||||
CFG_ITO_REPEAT_COUNT_MIN,
|
CFG_ITO_REPEAT_COUNT_MIN,
|
||||||
CFG_ITO_REPEAT_COUNT_MAX),
|
CFG_ITO_REPEAT_COUNT_MAX),
|
||||||
|
|
||||||
REG_VARIABLE(CFG_OCE_ENABLE_STA_NAME, WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, oce_sta_enabled,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_OCE_ENABLE_STA_DEFAULT,
|
|
||||||
CFG_OCE_ENABLE_STA_MIN,
|
|
||||||
CFG_OCE_ENABLE_STA_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_OCE_ENABLE_SAP_NAME, WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, oce_sap_enabled,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_OCE_ENABLE_SAP_DEFAULT,
|
|
||||||
CFG_OCE_ENABLE_SAP_MIN,
|
|
||||||
CFG_OCE_ENABLE_SAP_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_ENABLE_11D_IN_WORLD_MODE_NAME, WLAN_PARAM_Integer,
|
REG_VARIABLE(CFG_ENABLE_11D_IN_WORLD_MODE_NAME, WLAN_PARAM_Integer,
|
||||||
struct hdd_config, enable_11d_in_world_mode,
|
struct hdd_config, enable_11d_in_world_mode,
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||||
@@ -4032,13 +4011,6 @@ struct reg_table_entry g_registry_table[] = {
|
|||||||
CFG_LATENCY_FLAGS_ULTRALOW_MAX),
|
CFG_LATENCY_FLAGS_ULTRALOW_MAX),
|
||||||
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_IS_FILS_ENABLED_NAME, WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, is_fils_enabled,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_IS_FILS_ENABLED_DEFAULT,
|
|
||||||
CFG_IS_FILS_ENABLED_MIN,
|
|
||||||
CFG_IS_FILS_ENABLED_MAX),
|
|
||||||
|
|
||||||
#ifdef WLAN_FEATURE_PACKET_FILTERING
|
#ifdef WLAN_FEATURE_PACKET_FILTERING
|
||||||
REG_VARIABLE(CFG_ENABLE_PACKET_FILTERS_NAME, WLAN_PARAM_Integer,
|
REG_VARIABLE(CFG_ENABLE_PACKET_FILTERS_NAME, WLAN_PARAM_Integer,
|
||||||
struct hdd_config, packet_filters_bitmap,
|
struct hdd_config, packet_filters_bitmap,
|
||||||
@@ -4055,56 +4027,6 @@ struct reg_table_entry g_registry_table[] = {
|
|||||||
CFG_DFS_BEACON_TX_ENHANCED_MIN,
|
CFG_DFS_BEACON_TX_ENHANCED_MIN,
|
||||||
CFG_DFS_BEACON_TX_ENHANCED_MAX),
|
CFG_DFS_BEACON_TX_ENHANCED_MAX),
|
||||||
|
|
||||||
REG_VARIABLE(CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT_NAME,
|
|
||||||
WLAN_PARAM_Integer, struct hdd_config,
|
|
||||||
rssi_assoc_reject_enabled,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT_DEFAULT,
|
|
||||||
CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT_MIN,
|
|
||||||
CFG_OCE_ENABLE_RSSI_BASED_ASSOC_REJECT_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_OCE_PROBE_REQ_RATE_NAME, WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, oce_probe_req_rate_enabled,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_OCE_PROBE_REQ_RATE_DEFAULT,
|
|
||||||
CFG_OCE_PROBE_REQ_RATE_MIN,
|
|
||||||
CFG_OCE_PROBE_REQ_RATE_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_OCE_PROBE_RSP_RATE_NAME, WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, oce_probe_resp_rate_enabled,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_OCE_PROBE_RSP_RATE_DEFAULT,
|
|
||||||
CFG_OCE_PROBE_RSP_RATE_MIN,
|
|
||||||
CFG_OCE_PROBE_RSP_RATE_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_OCE_BEACON_RATE_NAME, WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, oce_beacon_rate_enabled,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_OCE_BEACON_RATE_DEFAULT,
|
|
||||||
CFG_OCE_BEACON_RATE_MIN,
|
|
||||||
CFG_OCE_BEACON_RATE_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_ENABLE_PROBE_REQ_DEFERRAL_NAME, WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, probe_req_deferral_enabled,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_ENABLE_PROBE_REQ_DEFERRAL_DEFAULT,
|
|
||||||
CFG_ENABLE_PROBE_REQ_DEFERRAL_MIN,
|
|
||||||
CFG_ENABLE_PROBE_REQ_DEFERRAL_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_ENABLE_FILS_DISCOVERY_SAP_NAME, WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, fils_discovery_sap_enabled,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_ENABLE_FILS_DISCOVERY_SAP_DEFAULT,
|
|
||||||
CFG_ENABLE_FILS_DISCOVERY_SAP_MIN,
|
|
||||||
CFG_ENABLE_FILS_DISCOVERY_SAP_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_ENABLE_ESP_FEATURE_NAME, WLAN_PARAM_Integer,
|
|
||||||
struct hdd_config, esp_for_roam_enabled,
|
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
|
||||||
CFG_ENABLE_ESP_FEATURE_DEFAULT,
|
|
||||||
CFG_ENABLE_ESP_FEATURE_MIN,
|
|
||||||
CFG_ENABLE_ESP_FEATURE_MAX),
|
|
||||||
|
|
||||||
REG_VARIABLE(CFG_BTM_ENABLE_NAME, WLAN_PARAM_HexInteger,
|
REG_VARIABLE(CFG_BTM_ENABLE_NAME, WLAN_PARAM_HexInteger,
|
||||||
struct hdd_config, btm_offload_config,
|
struct hdd_config, btm_offload_config,
|
||||||
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
|
||||||
@@ -5993,7 +5915,7 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
|||||||
{
|
{
|
||||||
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
QDF_STATUS status = QDF_STATUS_SUCCESS;
|
||||||
tSmeConfigParams *smeConfig;
|
tSmeConfigParams *smeConfig;
|
||||||
uint8_t rrm_capab_len, val;
|
uint8_t rrm_capab_len;
|
||||||
mac_handle_t mac_handle = hdd_ctx->mac_handle;
|
mac_handle_t mac_handle = hdd_ctx->mac_handle;
|
||||||
|
|
||||||
struct hdd_config *pConfig = hdd_ctx->config;
|
struct hdd_config *pConfig = hdd_ctx->config;
|
||||||
@@ -6307,11 +6229,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
|||||||
|
|
||||||
smeConfig->snr_monitor_enabled = hdd_ctx->config->fEnableSNRMonitoring;
|
smeConfig->snr_monitor_enabled = hdd_ctx->config->fEnableSNRMonitoring;
|
||||||
|
|
||||||
smeConfig->csrConfig.enable_bcast_probe_rsp =
|
|
||||||
hdd_ctx->config->enable_bcast_probe_rsp;
|
|
||||||
smeConfig->csrConfig.is_fils_enabled =
|
|
||||||
hdd_ctx->config->is_fils_enabled;
|
|
||||||
|
|
||||||
hdd_he_set_sme_config(smeConfig, pConfig);
|
hdd_he_set_sme_config(smeConfig, pConfig);
|
||||||
|
|
||||||
smeConfig->csrConfig.wlm_latency_enable =
|
smeConfig->csrConfig.wlm_latency_enable =
|
||||||
@@ -6333,21 +6250,6 @@ QDF_STATUS hdd_set_sme_config(struct hdd_context *hdd_ctx)
|
|||||||
smeConfig->csrConfig.is_force_1x1 =
|
smeConfig->csrConfig.is_force_1x1 =
|
||||||
hdd_ctx->config->is_force_1x1;
|
hdd_ctx->config->is_force_1x1;
|
||||||
|
|
||||||
val = (pConfig->oce_probe_req_rate_enabled *
|
|
||||||
WMI_VDEV_OCE_PROBE_REQUEST_RATE_FEATURE_BITMAP) +
|
|
||||||
(pConfig->oce_probe_resp_rate_enabled *
|
|
||||||
WMI_VDEV_OCE_PROBE_RESPONSE_RATE_FEATURE_BITMAP) +
|
|
||||||
(pConfig->oce_beacon_rate_enabled *
|
|
||||||
WMI_VDEV_OCE_BEACON_RATE_FEATURE_BITMAP) +
|
|
||||||
(pConfig->probe_req_deferral_enabled *
|
|
||||||
WMI_VDEV_OCE_PROBE_REQUEST_DEFERRAL_FEATURE_BITMAP) +
|
|
||||||
(pConfig->fils_discovery_sap_enabled *
|
|
||||||
WMI_VDEV_OCE_FILS_DISCOVERY_FRAME_FEATURE_BITMAP) +
|
|
||||||
(pConfig->esp_for_roam_enabled *
|
|
||||||
WMI_VDEV_OCE_ESP_FEATURE_BITMAP) +
|
|
||||||
(pConfig->rssi_assoc_reject_enabled *
|
|
||||||
WMI_VDEV_OCE_REASSOC_REJECT_FEATURE_BITMAP);
|
|
||||||
smeConfig->csrConfig.oce_feature_bitmap = val;
|
|
||||||
smeConfig->csrConfig.btm_offload_config =
|
smeConfig->csrConfig.btm_offload_config =
|
||||||
hdd_ctx->config->btm_offload_config;
|
hdd_ctx->config->btm_offload_config;
|
||||||
smeConfig->csrConfig.btm_solicited_timeout =
|
smeConfig->csrConfig.btm_solicited_timeout =
|
||||||
|
@@ -3308,7 +3308,9 @@ __wlan_hdd_cfg80211_get_features(struct wiphy *wiphy,
|
|||||||
struct sk_buff *skb = NULL;
|
struct sk_buff *skb = NULL;
|
||||||
uint32_t dbs_capability = 0;
|
uint32_t dbs_capability = 0;
|
||||||
bool one_by_one_dbs, two_by_two_dbs;
|
bool one_by_one_dbs, two_by_two_dbs;
|
||||||
|
bool value;
|
||||||
QDF_STATUS ret = QDF_STATUS_E_FAILURE;
|
QDF_STATUS ret = QDF_STATUS_E_FAILURE;
|
||||||
|
QDF_STATUS status;
|
||||||
int ret_val;
|
int ret_val;
|
||||||
|
|
||||||
uint8_t feature_flags[(NUM_QCA_WLAN_VENDOR_FEATURES + 7) / 8] = {0};
|
uint8_t feature_flags[(NUM_QCA_WLAN_VENDOR_FEATURES + 7) / 8] = {0};
|
||||||
@@ -3341,11 +3343,19 @@ __wlan_hdd_cfg80211_get_features(struct wiphy *wiphy,
|
|||||||
wlan_hdd_cfg80211_set_feature(feature_flags,
|
wlan_hdd_cfg80211_set_feature(feature_flags,
|
||||||
QCA_WLAN_VENDOR_FEATURE_P2P_LISTEN_OFFLOAD);
|
QCA_WLAN_VENDOR_FEATURE_P2P_LISTEN_OFFLOAD);
|
||||||
|
|
||||||
if (hdd_ctx->config->oce_sta_enabled)
|
value = 0;
|
||||||
|
status = ucfg_mlme_get_oce_sta_enabled_info(hdd_ctx->hdd_psoc, &value);
|
||||||
|
if (QDF_IS_STATUS_ERROR(status))
|
||||||
|
hdd_err("could not get OCE STA enable info");
|
||||||
|
if (value)
|
||||||
wlan_hdd_cfg80211_set_feature(feature_flags,
|
wlan_hdd_cfg80211_set_feature(feature_flags,
|
||||||
QCA_WLAN_VENDOR_FEATURE_OCE_STA);
|
QCA_WLAN_VENDOR_FEATURE_OCE_STA);
|
||||||
|
|
||||||
if (hdd_ctx->config->oce_sap_enabled)
|
value = 0;
|
||||||
|
status = ucfg_mlme_get_oce_sap_enabled_info(hdd_ctx->hdd_psoc, &value);
|
||||||
|
if (QDF_IS_STATUS_ERROR(status))
|
||||||
|
hdd_err("could not get OCE SAP enable info");
|
||||||
|
if (value)
|
||||||
wlan_hdd_cfg80211_set_feature(feature_flags,
|
wlan_hdd_cfg80211_set_feature(feature_flags,
|
||||||
QCA_WLAN_VENDOR_FEATURE_OCE_STA_CFON);
|
QCA_WLAN_VENDOR_FEATURE_OCE_STA_CFON);
|
||||||
|
|
||||||
@@ -6014,16 +6024,29 @@ __wlan_hdd_cfg80211_wifi_configuration_set(struct wiphy *wiphy,
|
|||||||
if (adapter->device_mode == QDF_STA_MODE &&
|
if (adapter->device_mode == QDF_STA_MODE &&
|
||||||
tb[QCA_WLAN_VENDOR_ATTR_CONFIG_DISABLE_FILS]) {
|
tb[QCA_WLAN_VENDOR_ATTR_CONFIG_DISABLE_FILS]) {
|
||||||
uint8_t disable_fils;
|
uint8_t disable_fils;
|
||||||
|
bool value;
|
||||||
|
|
||||||
disable_fils = nla_get_u8(tb[
|
disable_fils = nla_get_u8(tb[
|
||||||
QCA_WLAN_VENDOR_ATTR_CONFIG_DISABLE_FILS]);
|
QCA_WLAN_VENDOR_ATTR_CONFIG_DISABLE_FILS]);
|
||||||
hdd_debug("Set disable_fils - %d", disable_fils);
|
hdd_debug("Set disable_fils - %d", disable_fils);
|
||||||
|
value = !disable_fils;
|
||||||
|
|
||||||
qdf_status = sme_update_fils_setting(mac_handle,
|
qdf_status = ucfg_mlme_set_fils_enabled_info(hdd_ctx->hdd_psoc,
|
||||||
adapter->session_id,
|
value);
|
||||||
disable_fils);
|
if (QDF_IS_STATUS_ERROR(qdf_status))
|
||||||
|
hdd_err("could not set fils enabled info");
|
||||||
|
|
||||||
|
qdf_status = ucfg_mlme_set_enable_bcast_probe_rsp(
|
||||||
|
hdd_ctx->hdd_psoc, value);
|
||||||
|
if (QDF_IS_STATUS_ERROR(qdf_status))
|
||||||
|
hdd_err("could not set enable bcast probe resp info");
|
||||||
|
|
||||||
|
qdf_status = wma_cli_set_command(
|
||||||
|
(int)adapter->session_id,
|
||||||
|
(int)WMI_VDEV_PARAM_ENABLE_BCAST_PROBE_RESPONSE,
|
||||||
|
!disable_fils, VDEV_CMD);
|
||||||
if (qdf_status != QDF_STATUS_SUCCESS) {
|
if (qdf_status != QDF_STATUS_SUCCESS) {
|
||||||
hdd_err("set disable_fils failed");
|
hdd_err("failed to set enable bcast probe resp");
|
||||||
ret_val = -EINVAL;
|
ret_val = -EINVAL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -12067,8 +12090,6 @@ int wlan_hdd_cfg80211_init(struct device *dev,
|
|||||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
|
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 0))
|
||||||
wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_VHT_IBSS);
|
wiphy_ext_feature_set(wiphy, NL80211_EXT_FEATURE_VHT_IBSS);
|
||||||
#endif
|
#endif
|
||||||
if (pCfg->is_fils_enabled)
|
|
||||||
wlan_hdd_cfg80211_set_wiphy_fils_feature(wiphy);
|
|
||||||
|
|
||||||
wlan_hdd_cfg80211_set_wiphy_scan_flags(wiphy);
|
wlan_hdd_cfg80211_set_wiphy_scan_flags(wiphy);
|
||||||
|
|
||||||
@@ -12349,10 +12370,20 @@ static void wlan_hdd_update_ht_cap(struct hdd_context *hdd_ctx)
|
|||||||
void wlan_hdd_update_wiphy(struct hdd_context *hdd_ctx)
|
void wlan_hdd_update_wiphy(struct hdd_context *hdd_ctx)
|
||||||
{
|
{
|
||||||
int value;
|
int value;
|
||||||
|
bool fils_enabled;
|
||||||
|
QDF_STATUS status;
|
||||||
|
|
||||||
ucfg_mlme_get_sap_max_peers(hdd_ctx->hdd_psoc, &value);
|
ucfg_mlme_get_sap_max_peers(hdd_ctx->hdd_psoc, &value);
|
||||||
hdd_ctx->wiphy->max_ap_assoc_sta = value;
|
hdd_ctx->wiphy->max_ap_assoc_sta = value;
|
||||||
wlan_hdd_update_ht_cap(hdd_ctx);
|
wlan_hdd_update_ht_cap(hdd_ctx);
|
||||||
|
|
||||||
|
fils_enabled = 0;
|
||||||
|
status = ucfg_mlme_get_fils_enabled_info(hdd_ctx->hdd_psoc,
|
||||||
|
&fils_enabled);
|
||||||
|
if (QDF_IS_STATUS_ERROR(status))
|
||||||
|
hdd_err("could not get fils enabled info");
|
||||||
|
if (fils_enabled)
|
||||||
|
wlan_hdd_cfg80211_set_wiphy_fils_feature(hdd_ctx->wiphy);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -15133,14 +15164,20 @@ static int wlan_hdd_cfg80211_set_fils_config(struct hdd_adapter *adapter,
|
|||||||
struct csr_roam_profile *roam_profile;
|
struct csr_roam_profile *roam_profile;
|
||||||
enum eAniAuthType auth_type;
|
enum eAniAuthType auth_type;
|
||||||
uint8_t *buf;
|
uint8_t *buf;
|
||||||
|
bool value;
|
||||||
|
QDF_STATUS status;
|
||||||
struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
|
struct hdd_context *hdd_ctx = WLAN_HDD_GET_CTX(adapter);
|
||||||
|
|
||||||
roam_profile = hdd_roam_profile(adapter);
|
roam_profile = hdd_roam_profile(adapter);
|
||||||
|
|
||||||
if (!hdd_ctx->config->is_fils_enabled) {
|
value = 0;
|
||||||
hdd_err("FILS disabled");
|
status = ucfg_mlme_get_fils_enabled_info(hdd_ctx->hdd_psoc, &value);
|
||||||
|
if (QDF_IS_STATUS_ERROR(status) || !value) {
|
||||||
|
hdd_err("get_fils_enabled status: %d fils_enabled: %d",
|
||||||
|
status, value);
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
hdd_clear_fils_connection_info(adapter);
|
hdd_clear_fils_connection_info(adapter);
|
||||||
roam_profile->fils_con_info =
|
roam_profile->fils_con_info =
|
||||||
qdf_mem_malloc(sizeof(*roam_profile->fils_con_info));
|
qdf_mem_malloc(sizeof(*roam_profile->fils_con_info));
|
||||||
|
@@ -8793,14 +8793,6 @@ static void hdd_override_ini_config(struct hdd_context *hdd_ctx)
|
|||||||
hdd_ctx->config->IpaConfig);
|
hdd_ctx->config->IpaConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!hdd_ctx->config->rssi_assoc_reject_enabled ||
|
|
||||||
!hdd_ctx->config->enable_bcast_probe_rsp) {
|
|
||||||
hdd_debug("OCE disabled, rssi_assoc_reject_enabled: %d enable_bcast_probe_rsp: %d",
|
|
||||||
hdd_ctx->config->rssi_assoc_reject_enabled,
|
|
||||||
hdd_ctx->config->enable_bcast_probe_rsp);
|
|
||||||
hdd_ctx->config->oce_sta_enabled = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hdd_ctx->config->action_oui_enable && !ucfg_action_oui_enabled()) {
|
if (hdd_ctx->config->action_oui_enable && !ucfg_action_oui_enabled()) {
|
||||||
hdd_ctx->config->action_oui_enable = 0;
|
hdd_ctx->config->action_oui_enable = 0;
|
||||||
hdd_err("Ignore ini: %s, since no action_oui component",
|
hdd_err("Ignore ini: %s, since no action_oui component",
|
||||||
|
@@ -1654,17 +1654,6 @@ QDF_STATUS sme_set_default_scan_ie(tHalHandle hal, uint16_t session_id,
|
|||||||
*/
|
*/
|
||||||
QDF_STATUS sme_update_session_param(tHalHandle hal, uint8_t session_id,
|
QDF_STATUS sme_update_session_param(tHalHandle hal, uint8_t session_id,
|
||||||
uint32_t param_type, uint32_t param_val);
|
uint32_t param_type, uint32_t param_val);
|
||||||
|
|
||||||
/**
|
|
||||||
* sme_update_fils_setting() - API to update PE FILS setting
|
|
||||||
* @hal: HAL handle for device
|
|
||||||
* @session_id: Session ID
|
|
||||||
* @param_val: Param value to be update
|
|
||||||
*
|
|
||||||
* Return: QDF_STATUS
|
|
||||||
*/
|
|
||||||
QDF_STATUS sme_update_fils_setting(tHalHandle hal, uint8_t session_id,
|
|
||||||
uint8_t param_val);
|
|
||||||
#ifdef WLAN_FEATURE_FIPS
|
#ifdef WLAN_FEATURE_FIPS
|
||||||
/**
|
/**
|
||||||
* sme_fips_request() - Perform a FIPS certification operation
|
* sme_fips_request() - Perform a FIPS certification operation
|
||||||
|
@@ -6065,26 +6065,6 @@ QDF_STATUS sme_set_tx_power(tHalHandle hHal, uint8_t sessionId,
|
|||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
QDF_STATUS sme_update_fils_setting(tHalHandle hal, uint8_t session_id,
|
|
||||||
uint8_t param_val)
|
|
||||||
{
|
|
||||||
QDF_STATUS status;
|
|
||||||
tpAniSirGlobal pMac = PMAC_STRUCT(hal);
|
|
||||||
|
|
||||||
pMac->roam.configParam.is_fils_enabled = !param_val;
|
|
||||||
|
|
||||||
pMac->roam.configParam.enable_bcast_probe_rsp = !param_val;
|
|
||||||
status = wma_cli_set_command((int)session_id,
|
|
||||||
(int)WMI_VDEV_PARAM_ENABLE_BCAST_PROBE_RESPONSE,
|
|
||||||
!param_val, VDEV_CMD);
|
|
||||||
if (status)
|
|
||||||
QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
|
|
||||||
"%s: Failed to set enable bcast probe setting",
|
|
||||||
__func__);
|
|
||||||
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
QDF_STATUS sme_update_session_param(tHalHandle hal, uint8_t session_id,
|
QDF_STATUS sme_update_session_param(tHalHandle hal, uint8_t session_id,
|
||||||
uint32_t param_type, uint32_t param_val)
|
uint32_t param_type, uint32_t param_val)
|
||||||
{
|
{
|
||||||
|
@@ -16170,7 +16170,7 @@ QDF_STATUS csr_send_join_req_msg(tpAniSirGlobal pMac, uint32_t sessionId,
|
|||||||
|
|
||||||
if (pSession->pCurRoamProfile->csrPersona == QDF_STA_MODE)
|
if (pSession->pCurRoamProfile->csrPersona == QDF_STA_MODE)
|
||||||
csr_join_req->enable_bcast_probe_rsp =
|
csr_join_req->enable_bcast_probe_rsp =
|
||||||
pMac->roam.configParam.enable_bcast_probe_rsp;
|
pMac->mlme_cfg->oce.enable_bcast_probe_rsp;
|
||||||
|
|
||||||
csr_join_req->enable_session_twt_support = csr_enable_twt(pIes);
|
csr_join_req->enable_session_twt_support = csr_enable_twt(pIes);
|
||||||
status = umac_send_mb_message_to_mac(csr_join_req);
|
status = umac_send_mb_message_to_mac(csr_join_req);
|
||||||
@@ -17108,13 +17108,13 @@ QDF_STATUS csr_issue_add_sta_for_session_req(tpAniSirGlobal pMac,
|
|||||||
qos_aggr->tx_aggr_sw_retry_threshold_vo;
|
qos_aggr->tx_aggr_sw_retry_threshold_vo;
|
||||||
|
|
||||||
add_sta_self_req->enable_bcast_probe_rsp =
|
add_sta_self_req->enable_bcast_probe_rsp =
|
||||||
pMac->roam.configParam.enable_bcast_probe_rsp;
|
pMac->mlme_cfg->oce.enable_bcast_probe_rsp;
|
||||||
add_sta_self_req->fils_max_chan_guard_time =
|
add_sta_self_req->fils_max_chan_guard_time =
|
||||||
pMac->mlme_cfg->sta.fils_max_chan_guard_time;
|
pMac->mlme_cfg->sta.fils_max_chan_guard_time;
|
||||||
add_sta_self_req->pkt_err_disconn_th =
|
add_sta_self_req->pkt_err_disconn_th =
|
||||||
pMac->roam.configParam.pkt_err_disconn_th;
|
pMac->roam.configParam.pkt_err_disconn_th;
|
||||||
add_sta_self_req->oce_feature_bitmap =
|
add_sta_self_req->oce_feature_bitmap =
|
||||||
pMac->roam.configParam.oce_feature_bitmap;
|
pMac->mlme_cfg->oce.feature_bitmap;
|
||||||
|
|
||||||
msg.type = WMA_ADD_STA_SELF_REQ;
|
msg.type = WMA_ADD_STA_SELF_REQ;
|
||||||
msg.reserved = 0;
|
msg.reserved = 0;
|
||||||
|
Reference in New Issue
Block a user