Browse Source

qcacld-3.0: Increase buffer size to 1024 for ADDBA for EHT

The current maximum buffer size for an ADDBA req/response action
frame is 256 bytes. This needs to be increased to 1024 in case of
EHT session.

Change-Id: I6579bfd0e0a535e8fb71bdd1e4d9932f30ace605
CRs-Fixed: 3182383
Gururaj Pandurangi 2 years ago
parent
commit
572413e48f
2 changed files with 7 additions and 1 deletions
  1. 1 0
      core/mac/inc/sir_mac_prot_def.h
  2. 6 1
      core/mac/src/pe/lim/lim_process_action_frame.c

+ 1 - 0
core/mac/inc/sir_mac_prot_def.h

@@ -102,6 +102,7 @@
 #define SIR_MAC_BA_DEFAULT_BUFF_SIZE    64
 
 #define MAX_BA_BUFF_SIZE    256
+#define MAX_EHT_BA_BUFF_SIZE 1024
 
 #ifdef ANI_SUPPORT_11H
 #define SIR_MAC_BASIC_MEASUREMENT_TYPE         0

+ 6 - 1
core/mac/src/pe/lim/lim_process_action_frame.c

@@ -1566,6 +1566,7 @@ static void lim_process_addba_req(struct mac_context *mac_ctx, uint8_t *rx_pkt_i
 	tpDphHashNode sta_ds;
 	uint16_t aid, buff_size;
 	bool he_cap = false;
+	bool eht_cap = false;
 
 	mac_hdr = WMA_GET_RX_MAC_HEADER(rx_pkt_info);
 	body_ptr = WMA_GET_RX_MPDU_DATA(rx_pkt_info);
@@ -1594,10 +1595,14 @@ static void lim_process_addba_req(struct mac_context *mac_ctx, uint8_t *rx_pkt_i
 				       &session->dph.dphHashTable);
 	if (sta_ds && lim_is_session_he_capable(session))
 		he_cap = lim_is_sta_he_capable(sta_ds);
+	if (sta_ds && lim_is_session_eht_capable(session))
+		eht_cap = lim_is_sta_eht_capable(sta_ds);
 	if (sta_ds && sta_ds->staType == STA_ENTRY_NDI_PEER)
 		he_cap = lim_is_session_he_capable(session);
 
-	if (he_cap)
+	if (eht_cap)
+		buff_size = MAX_EHT_BA_BUFF_SIZE;
+	else if (he_cap)
 		buff_size = MAX_BA_BUFF_SIZE;
 	else
 		buff_size = SIR_MAC_BA_DEFAULT_BUFF_SIZE;