qcacld-3.0: Fix issue with 256 BA buff size setting
Change the BA buffer size attribute value to 16-bit to set the 256 BA buffer size. Define the max supported BA buffer size and advertise the max supported buffer size if the user configures the value greater than supported. Change-Id: I5efdee60517e02572386e9751706722987f44261 CRs-Fixed: 2284461
This commit is contained in:

committed by
nshrivas

orang tua
2ce4b8a8a8
melakukan
eac7fe9f27
@@ -6336,7 +6336,7 @@ wlan_hdd_wifi_test_config_policy[
|
||||
[QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_BA_TID] = {
|
||||
.type = NLA_U8},
|
||||
[QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ADDBA_BUFF_SIZE] = {
|
||||
.type = NLA_U8},
|
||||
.type = NLA_U16},
|
||||
[QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ENABLE_NO_ACK] = {
|
||||
.type = NLA_U8},
|
||||
[QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_NO_ACK_AC] = {
|
||||
@@ -7494,7 +7494,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
|
||||
if (cfg_val == QCA_WLAN_ADD_BA) {
|
||||
if (tb[
|
||||
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ADDBA_BUFF_SIZE])
|
||||
buff_size = nla_get_u8(tb[
|
||||
buff_size = nla_get_u16(tb[
|
||||
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ADDBA_BUFF_SIZE]);
|
||||
ret_val = sme_send_addba_req(mac_handle,
|
||||
adapter->session_id,
|
||||
@@ -7506,7 +7506,7 @@ __wlan_hdd_cfg80211_set_wifi_test_config(struct wiphy *wiphy,
|
||||
goto send_err;
|
||||
}
|
||||
} else if (tb[QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ADDBA_BUFF_SIZE]) {
|
||||
buff_size = nla_get_u8(tb[
|
||||
buff_size = nla_get_u16(tb[
|
||||
QCA_WLAN_VENDOR_ATTR_WIFI_TEST_CONFIG_ADDBA_BUFF_SIZE]);
|
||||
hdd_debug("set buff size to %d for all tids", buff_size);
|
||||
ret_val = sme_set_ba_buff_size(mac_handle,
|
||||
|
@@ -160,6 +160,8 @@
|
||||
#define SIR_MAC_BA_AMSDU_SUPPORTED 1
|
||||
#define SIR_MAC_BA_DEFAULT_BUFF_SIZE 64
|
||||
|
||||
#define MAX_BA_BUFF_SIZE 80
|
||||
|
||||
#ifdef ANI_SUPPORT_11H
|
||||
#define SIR_MAC_ACTION_MEASURE_REQUEST_ID 0
|
||||
#define SIR_MAC_ACTION_MEASURE_REPORT_ID 1
|
||||
|
@@ -551,6 +551,7 @@ typedef struct sPESession /* Added to Support BT-AMP */
|
||||
enum wmi_obss_color_collision_evt_type obss_color_collision_dec_evt;
|
||||
bool is_session_obss_color_collision_det_enabled;
|
||||
int8_t def_max_tx_pwr;
|
||||
bool active_ba_64_session;
|
||||
#ifdef WLAN_SUPPORT_TWT
|
||||
uint8_t peer_twt_requestor;
|
||||
uint8_t peer_twt_responder;
|
||||
|
@@ -4843,6 +4843,18 @@ QDF_STATUS lim_send_addba_response_frame(tpAniSirGlobal mac_ctx,
|
||||
frm.addba_param_set.buff_size = SIR_MAC_BA_DEFAULT_BUFF_SIZE;
|
||||
if (mac_ctx->usr_cfg_ba_buff_size)
|
||||
frm.addba_param_set.buff_size = mac_ctx->usr_cfg_ba_buff_size;
|
||||
|
||||
if (frm.addba_param_set.buff_size > MAX_BA_BUFF_SIZE)
|
||||
frm.addba_param_set.buff_size = MAX_BA_BUFF_SIZE;
|
||||
|
||||
if (frm.addba_param_set.buff_size > SIR_MAC_BA_DEFAULT_BUFF_SIZE) {
|
||||
if (session->active_ba_64_session) {
|
||||
frm.addba_param_set.buff_size =
|
||||
SIR_MAC_BA_DEFAULT_BUFF_SIZE;
|
||||
}
|
||||
} else if (!session->active_ba_64_session) {
|
||||
session->active_ba_64_session = true;
|
||||
}
|
||||
if (mac_ctx->is_usr_cfg_amsdu_enabled)
|
||||
frm.addba_param_set.amsdu_supp = amsdu_support;
|
||||
else
|
||||
|
Reference in New Issue
Block a user