qcacld-3.0: Handle disable EHT flag in connect request

If user sets flag ASSOC_REQ_DISABLE_EHT in connect request, driver
will send action oui "ffffff 00 01" to host mlme and also firmware
for action id ACTION_OUI_11BE_OUI_ALLOW, so that all the AP will
be not matched with this OUI and 802.11be mode will not be allowed,
possibly downgrade to 11ax will happen.
If user doesn't set ASSOC_REQ_DISABLE_EHT, driver/firmware will
recover to default oui setting.

Change-Id: I9eab732f1bd29018d44b215c1d6c9bfac9dafe95
CRs-Fixed: 3314489
This commit is contained in:
Liangwei Dong
2022-10-18 12:09:24 +08:00
committed by Madan Koyyalamudi
parent f0287ac02a
commit 77d14af550
12 changed files with 491 additions and 20 deletions

View File

@@ -1052,6 +1052,24 @@ QDF_STATUS mlme_update_tgt_eht_caps_in_cfg(struct wlan_objmgr_psoc *psoc,
*/
enum phy_ch_width wlan_mlme_convert_eht_op_bw_to_phy_ch_width(
uint8_t channel_width);
/**
* wlan_mlme_get_usr_disable_sta_eht() - Get user disable sta eht flag
* @psoc: psoc object
*
* Return: true if user has disabled eht in connect request
*/
bool wlan_mlme_get_usr_disable_sta_eht(struct wlan_objmgr_psoc *psoc);
/**
* wlan_mlme_set_usr_disable_sta_eht() - Set user disable sta eht flag
* @psoc: psoc object
* @disable: eht disable flag
*
* Return: void
*/
void wlan_mlme_set_usr_disable_sta_eht(struct wlan_objmgr_psoc *psoc,
bool disable);
#endif
/**

View File

@@ -1672,6 +1672,7 @@ enum station_prefer_bw {
* @mlo_support_link_num: max number of links that sta mlo supports
* @mlo_support_link_band: band bitmap that sta mlo supports
* @mlo_max_simultaneous_links number of simultaneous links
* @usr_disable_eht user disable the eht for STA
*/
struct wlan_mlme_sta_cfg {
uint32_t sta_keep_alive_period;
@@ -1704,6 +1705,9 @@ struct wlan_mlme_sta_cfg {
uint8_t mlo_support_link_band;
uint8_t mlo_max_simultaneous_links;
#endif
#ifdef WLAN_FEATURE_11BE
bool usr_disable_eht;
#endif
};
/**

View File

@@ -3557,6 +3557,44 @@ ucfg_mlme_update_tgt_eht_cap(struct wlan_objmgr_psoc *psoc,
{
return mlme_update_tgt_eht_caps_in_cfg(psoc, cfg);
}
/**
* ucfg_mlme_get_usr_disable_sta_eht() - Get user disable sta eht flag
* @psoc: psoc object
*
* Return: true if user has disabled eht in connect request
*/
static inline
bool ucfg_mlme_get_usr_disable_sta_eht(struct wlan_objmgr_psoc *psoc)
{
return wlan_mlme_get_usr_disable_sta_eht(psoc);
}
/**
* ucfg_mlme_set_usr_disable_sta_eht() - Set user disable sta eht flag
* @psoc: psoc object
* @disable: eht disable flag
*
* Return: void
*/
static inline
void ucfg_mlme_set_usr_disable_sta_eht(struct wlan_objmgr_psoc *psoc,
bool disable)
{
wlan_mlme_set_usr_disable_sta_eht(psoc, disable);
}
#else
static inline
bool ucfg_mlme_get_usr_disable_sta_eht(struct wlan_objmgr_psoc *psoc)
{
return true;
}
static inline
void ucfg_mlme_set_usr_disable_sta_eht(struct wlan_objmgr_psoc *psoc,
bool disable)
{
}
#endif
/**