qcacld-3.0: Add ini to disable aggressive EDCA config
Add action_oui ini gActionOUIDisableAggressiveEDCA to identify peers for which aggressive EDCA configuration causes some IOT issues. Change-Id: Ifea0c224cef2378727c9f78d8b571ea9c57bb662 CRs-Fixed: 2507191
This commit is contained in:

zatwierdzone przez
Gerrit - the friendly Code Review server

rodzic
980c1dcd15
commit
cbae35c8b4
@@ -89,7 +89,8 @@
|
||||
* @ACTION_OUI_CONNECT_1X1_WITH_1_CHAIN: connect in 1x1 & disable diversity gain
|
||||
* @ACTION_OUI_DISABLE_AGGRESSIVE_TX: disable aggressive TX in firmware
|
||||
* @ACTION_OUI_FORCE_MAX_NSS: Force Max NSS connection with few IOT APs
|
||||
* @ACTION_OUI_MAXIMUM_ID: maximun number of action oui types
|
||||
* @ACTION_OUI_DISABLE_AGGRESSIVE_EDCA: disable aggressive EDCA with the ap
|
||||
* @ACTION_OUI_MAXIMUM_ID: maximum number of action oui types
|
||||
*/
|
||||
enum action_oui_id {
|
||||
ACTION_OUI_CONNECT_1X1 = 0,
|
||||
@@ -100,6 +101,7 @@ enum action_oui_id {
|
||||
ACTION_OUI_CONNECT_1X1_WITH_1_CHAIN = 5,
|
||||
ACTION_OUI_DISABLE_AGGRESSIVE_TX = 6,
|
||||
ACTION_OUI_FORCE_MAX_NSS = 7,
|
||||
ACTION_OUI_DISABLE_AGGRESSIVE_EDCA = 8,
|
||||
ACTION_OUI_MAXIMUM_ID
|
||||
};
|
||||
|
||||
|
@@ -118,6 +118,7 @@ struct wlan_mlme_roam {
|
||||
* @vdev_start_failed: flag to indicate that vdev start failed.
|
||||
* @connection_fail: flag to indicate connection failed
|
||||
* @cac_required_for_new_channel: if CAC is required for new channel
|
||||
* @follow_ap_edca: if true, it is forced to follow the AP's edca.
|
||||
* @assoc_type: vdev associate/reassociate type
|
||||
* @dynamic_cfg: current configuration of nss, chains for vdev.
|
||||
* @ini_cfg: Max configuration of nss, chains supported for vdev.
|
||||
@@ -136,6 +137,7 @@ struct mlme_legacy_priv {
|
||||
bool vdev_start_failed;
|
||||
bool connection_fail;
|
||||
bool cac_required_for_new_channel;
|
||||
bool follow_ap_edca;
|
||||
enum vdev_assoc_type assoc_type;
|
||||
struct wlan_mlme_nss_chains dynamic_cfg;
|
||||
struct wlan_mlme_nss_chains ini_cfg;
|
||||
@@ -371,6 +373,23 @@ void mlme_set_peer_disconnect_ies(struct wlan_objmgr_vdev *vdev,
|
||||
*/
|
||||
void mlme_free_peer_disconnect_ies(struct wlan_objmgr_vdev *vdev);
|
||||
|
||||
/**
|
||||
* mlme_set_follow_ap_edca_flag() - Set follow ap's edca flag
|
||||
* @vdev: vdev pointer
|
||||
* @flag: carries if following ap's edca is true or not.
|
||||
*
|
||||
* Return: None
|
||||
*/
|
||||
void mlme_set_follow_ap_edca_flag(struct wlan_objmgr_vdev *vdev, bool flag);
|
||||
|
||||
/**
|
||||
* mlme_get_follow_ap_edca_flag() - Get follow ap's edca flag
|
||||
* @vdev: vdev pointer
|
||||
*
|
||||
* Return: value of follow_ap_edca
|
||||
*/
|
||||
bool mlme_get_follow_ap_edca_flag(struct wlan_objmgr_vdev *vdev);
|
||||
|
||||
/**
|
||||
* mlme_get_peer_disconnect_ies() - Get diconnect IEs from vdev object
|
||||
* @vdev: vdev pointer
|
||||
|
@@ -2587,6 +2587,32 @@ struct wlan_ies *mlme_get_peer_disconnect_ies(struct wlan_objmgr_vdev *vdev)
|
||||
return &mlme_priv->peer_disconnect_ies;
|
||||
}
|
||||
|
||||
void mlme_set_follow_ap_edca_flag(struct wlan_objmgr_vdev *vdev, bool flag)
|
||||
{
|
||||
struct mlme_legacy_priv *mlme_priv;
|
||||
|
||||
mlme_priv = wlan_vdev_mlme_get_ext_hdl(vdev);
|
||||
if (!mlme_priv) {
|
||||
mlme_legacy_err("vdev legacy private object is NULL");
|
||||
return;
|
||||
}
|
||||
|
||||
mlme_priv->follow_ap_edca = flag;
|
||||
}
|
||||
|
||||
bool mlme_get_follow_ap_edca_flag(struct wlan_objmgr_vdev *vdev)
|
||||
{
|
||||
struct mlme_legacy_priv *mlme_priv;
|
||||
|
||||
mlme_priv = wlan_vdev_mlme_get_ext_hdl(vdev);
|
||||
if (!mlme_priv) {
|
||||
mlme_legacy_err("vdev legacy private object is NULL");
|
||||
return false;
|
||||
}
|
||||
|
||||
return mlme_priv->follow_ap_edca;
|
||||
}
|
||||
|
||||
void mlme_set_peer_pmf_status(struct wlan_objmgr_peer *peer,
|
||||
bool is_pmf_enabled)
|
||||
{
|
||||
|
Reference in New Issue
Block a user