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:
Kiran Kumar Lokere
2018-07-24 16:56:01 -07:00
committed by nshrivas
orang tua 2ce4b8a8a8
melakukan eac7fe9f27
4 mengubah file dengan 18 tambahan dan 3 penghapusan

Melihat File

@@ -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,

Melihat File

@@ -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

Melihat File

@@ -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;

Melihat File

@@ -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