qcacld-3.0: Add new cfg item to disable SP AP connection to VLP STA

Add a new cfg item to drop connection request if
AP is operating in 6 GHz SP mode and STA doesn't
support SP mode but supports VLP mode.

Change-Id: I0f20d63f68b2424390ca424188f95f26971c9ada
CRs-Fixed: 3470602
This commit is contained in:
Asutosh Mohapatra
2023-04-06 19:39:43 +05:30
gecommit door Madan Koyyalamudi
bovenliggende 275d59e9b4
commit c7a8607129
7 gewijzigde bestanden met toevoegingen van 120 en 1 verwijderingen

Bestand weergeven

@@ -244,6 +244,29 @@ enum t2lm_negotiation_support {
0, \
"rf test mode Enable Flag")
#ifdef CONFIG_BAND_6GHZ
/*
* disable_vlp_sta_conn_to_sp_ap - Disable VLP STA connection to SP AP
* @Min: 0
* @Max: 1
* @Default: 0
*
* This cfg is used to disable connection when AP is operating in 6 GHz
* SP mode but STA doesn't support SP mode and supports VLP mode.
*
* Related: None
*
* Supported Feature: STA
*/
#define CFG_DISABLE_VLP_STA_CONN_TO_SP_AP CFG_BOOL( \
"disable_vlp_sta_conn_to_sp_ap", \
0, \
"disable vlp sta conn to sp ap")
#define CFG_DIS_VLP_STA_CONN_TO_SP_AP CFG(CFG_DISABLE_VLP_STA_CONN_TO_SP_AP)
#else
#define CFG_DIS_VLP_STA_CONN_TO_SP_AP
#endif
#ifdef CONFIG_BAND_6GHZ
/*
* standard_6ghz_connection_policy - Enable 6 GHz standard connection policy
@@ -1175,5 +1198,6 @@ enum t2lm_negotiation_support {
CFG_6GHZ_STD_CONN_POLICY \
CFG_EMLSR_MODE_ENABLED \
CFG_SR_ENABLE_MODES_ALL \
CFG_T2LM_NEGOTIATION_SUPPORTED
CFG_T2LM_NEGOTIATION_SUPPORTED\
CFG_DIS_VLP_STA_CONN_TO_SP_AP
#endif /* __CFG_MLME_GENERIC_H */

Bestand weergeven

@@ -2477,6 +2477,19 @@ QDF_STATUS
wlan_mlme_set_rf_test_mode_enabled(struct wlan_objmgr_psoc *psoc, bool value);
#ifdef CONFIG_BAND_6GHZ
/**
* wlan_mlme_is_disable_vlp_sta_conn_to_sp_ap_enabled() - Get the disable vlp
* STA conn to SP AP flag
* @psoc: psoc context
* @value: Enable/Disable value ptr.
*
* Return: QDF_STATUS
*/
QDF_STATUS
wlan_mlme_is_disable_vlp_sta_conn_to_sp_ap_enabled(
struct wlan_objmgr_psoc *psoc,
bool *value);
/**
* wlan_mlme_is_standard_6ghz_conn_policy_enabled() - Get the 6 GHz standard
* connection policy flag
@@ -2490,6 +2503,15 @@ wlan_mlme_is_standard_6ghz_conn_policy_enabled(struct wlan_objmgr_psoc *psoc,
bool *value);
#else
static inline QDF_STATUS
wlan_mlme_is_disable_vlp_sta_conn_to_sp_ap_enabled(
struct wlan_objmgr_psoc *psoc,
bool *value)
{
*value = false;
return QDF_STATUS_SUCCESS;
}
static inline QDF_STATUS
wlan_mlme_is_standard_6ghz_conn_policy_enabled(struct wlan_objmgr_psoc *psoc,
bool *value)

Bestand weergeven

@@ -1389,6 +1389,7 @@ struct wlan_user_mcc_quota {
* @tx_retry_multiplier: TX xretry extension parameter
* @mgmt_hw_tx_retry_count: MGMT HW tx retry count for frames
* @std_6ghz_conn_policy: 6GHz standard connection policy
* @disable_vlp_sta_conn_to_sp_ap: Disable VLP STA connection to SP AP
* @eht_mode: EHT mode of operation
* @t2lm_negotiation_support: T2LM negotiation supported enum value
* @enable_emlsr_mode: 11BE eMLSR mode support
@@ -1445,6 +1446,7 @@ struct wlan_mlme_generic {
uint8_t mgmt_hw_tx_retry_count[CFG_FRAME_TYPE_MAX];
#ifdef CONFIG_BAND_6GHZ
bool std_6ghz_conn_policy;
bool disable_vlp_sta_conn_to_sp_ap;
#endif
#ifdef WLAN_FEATURE_11BE_MLO
enum wlan_eht_mode eht_mode;

Bestand weergeven

@@ -2899,6 +2899,24 @@ ucfg_mlme_set_rf_test_mode_enabled(struct wlan_objmgr_psoc *psoc, bool value)
return wlan_mlme_set_rf_test_mode_enabled(psoc, value);
}
/**
* ucfg_mlme_is_disable_vlp_sta_conn_to_sp_ap_enabled() - Get disable vlp sta
* conn to sp ap flag
* @psoc: pointer to psoc object
* @value: pointer to hold the value of flag
*
* Inline UCFG API to be used by HDD/OSIF callers
*
* Return: QDF Status
*/
static inline QDF_STATUS
ucfg_mlme_is_disable_vlp_sta_conn_to_sp_ap_enabled(
struct wlan_objmgr_psoc *psoc,
bool *value)
{
return wlan_mlme_is_disable_vlp_sta_conn_to_sp_ap_enabled(psoc, value);
}
/**
* ucfg_mlme_is_standard_6ghz_conn_policy_enabled() - Get 6ghz standard
* connection policy flag