qcacld-3.0: addba request reject for peer ap
Add user controlled rx addba request reject for peer AP based on ini configuration. Change-Id: I80a4b78c1af77f5bfa68be3163f9e9a78cc64245 CRs-fixed: 2835511
This commit is contained in:

committed by
snandini

parent
f33de00449
commit
e64a36609f
@@ -791,6 +791,8 @@ static void mlme_init_qos_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
cfg_get(psoc, CFG_SAP_MAX_INACTIVITY_OVERRIDE);
|
||||
qos_aggr_params->sap_uapsd_enabled =
|
||||
cfg_get(psoc, CFG_SAP_QOS_UAPSD);
|
||||
qos_aggr_params->reject_addba_req =
|
||||
cfg_get(psoc, CFG_REJECT_ADDBA_REQ);
|
||||
}
|
||||
|
||||
static void mlme_init_mbo_cfg(struct wlan_objmgr_psoc *psoc,
|
||||
|
@@ -197,6 +197,27 @@
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"Rx Aggregation size value")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* reject_addba_req - Configure Rx ADDBA Req reject for PEER AP
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* reject_addba_req gives an option to reject ADDBA Req from PEER AP
|
||||
*
|
||||
* Related: None
|
||||
*
|
||||
* Supported Feature: STA
|
||||
*
|
||||
* Usage: External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_REJECT_ADDBA_REQ CFG_INI_BOOL( \
|
||||
"reject_addba_req", \
|
||||
0, \
|
||||
"Addba Req Reject")
|
||||
/*
|
||||
* <ini>
|
||||
* gTxAggSwRetryBE - Configure Tx aggregation sw retry for BE
|
||||
@@ -567,6 +588,7 @@
|
||||
CFG(CFG_TX_NON_AGGR_SW_RETRY_VO) \
|
||||
CFG(CFG_TX_NON_AGGR_SW_RETRY) \
|
||||
CFG(CFG_SAP_QOS_UAPSD) \
|
||||
CFG(CFG_TX_IOT_AGGR)
|
||||
CFG(CFG_TX_IOT_AGGR) \
|
||||
CFG(CFG_REJECT_ADDBA_REQ)
|
||||
|
||||
#endif /* __CFG_MLME_QOS_H */
|
||||
|
@@ -1008,6 +1008,7 @@ struct wlan_vht_config {
|
||||
* @sap_max_inactivity_override: Override updating ap_sta_inactivity from
|
||||
* hostapd.conf
|
||||
* @sap_uapsd_enabled: Flag to enable/disable UAPSD for SAP
|
||||
* @reject_addba_req: Flag to decline ADDBA Req from SAP
|
||||
*/
|
||||
struct wlan_mlme_qos {
|
||||
uint32_t tx_aggregation_size;
|
||||
@@ -1028,6 +1029,7 @@ struct wlan_mlme_qos {
|
||||
uint32_t tx_non_aggr_sw_retry_threshold;
|
||||
bool sap_max_inactivity_override;
|
||||
bool sap_uapsd_enabled;
|
||||
bool reject_addba_req;
|
||||
};
|
||||
|
||||
#ifdef WLAN_FEATURE_11AX
|
||||
|
@@ -788,7 +788,6 @@ struct mac_context {
|
||||
uint32_t rx_mc_bc_cnt;
|
||||
/* 11k Offload Support */
|
||||
bool is_11k_offload_supported;
|
||||
uint8_t reject_addba_req;
|
||||
bool usr_cfg_ps_enable;
|
||||
uint16_t usr_cfg_ba_buff_size;
|
||||
bool is_usr_cfg_amsdu_enabled;
|
||||
|
@@ -5505,9 +5505,9 @@ static void lim_process_sme_set_addba_accept(struct mac_context *mac_ctx,
|
||||
return;
|
||||
}
|
||||
if (!msg->addba_accept)
|
||||
mac_ctx->reject_addba_req = 1;
|
||||
mac_ctx->mlme_cfg->qos_mlme_params.reject_addba_req = 1;
|
||||
else
|
||||
mac_ctx->reject_addba_req = 0;
|
||||
mac_ctx->mlme_cfg->qos_mlme_params.reject_addba_req = 0;
|
||||
}
|
||||
|
||||
static void lim_process_sme_update_edca_params(struct mac_context *mac_ctx,
|
||||
|
@@ -5335,20 +5335,22 @@ QDF_STATUS lim_send_addba_response_frame(struct mac_context *mac_ctx,
|
||||
tpDphHashNode sta_ds;
|
||||
uint16_t aid;
|
||||
bool he_cap = false;
|
||||
struct wlan_mlme_qos *qos_aggr;
|
||||
|
||||
vdev_id = session->vdev_id;
|
||||
|
||||
cdp_addba_responsesetup(soc, peer_mac, vdev_id, tid,
|
||||
&dialog_token, &status_code, &buff_size,
|
||||
&batimeout);
|
||||
|
||||
qos_aggr = &mac_ctx->mlme_cfg->qos_mlme_params;
|
||||
qdf_mem_zero((uint8_t *) &frm, sizeof(frm));
|
||||
frm.Category.category = ACTION_CATEGORY_BACK;
|
||||
frm.Action.action = ADDBA_RESPONSE;
|
||||
|
||||
frm.DialogToken.token = dialog_token;
|
||||
frm.Status.status = status_code;
|
||||
if (mac_ctx->reject_addba_req) {
|
||||
|
||||
if (qos_aggr->reject_addba_req) {
|
||||
frm.Status.status = STATUS_REQUEST_DECLINED;
|
||||
pe_err("refused addba req");
|
||||
}
|
||||
|
Reference in New Issue
Block a user