wlan: Add cfg.ini entry to make number of buffers advertised for ADDBA negotiation configurable
Change-Id: I8d56b5111da0a3981f719beec10df62305c15639
CR-Fixed: 415219
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h
index ae2434b..18a6291 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg.h
@@ -1371,6 +1371,12 @@
#define CFG_MC_ADDR_LIST_ENABLE_MAX ( 1 )
#define CFG_MC_ADDR_LIST_ENABLE_DEFAULT ( 0 )
+/* Set number of buffers to be advertised during ADDBA negotiation*/
+#define CFG_NUM_BUFF_ADVERT_NAME "gNumBuffAdvert"
+#define CFG_NUM_BUFF_ADVERT_MIN ( 0 )
+#define CFG_NUM_BUFF_ADVERT_MAX ( 128 )
+#define CFG_NUM_BUFF_ADVERT_DEFAULT ( 40 )
+
/*---------------------------------------------------------------------------
Type declarations
-------------------------------------------------------------------------*/
@@ -1675,6 +1681,7 @@
v_BOOL_t enableFirstScan2GOnly;
v_BOOL_t skipDfsChnlInP2pSearch;
v_BOOL_t ignoreDynamicDtimInP2pMode;
+ v_U32_t numBuffAdvert;
} hdd_config_t;
/*---------------------------------------------------------------------------
Function declarations and documenation
diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c
index 96f16d7..5b5b8ca 100644
--- a/CORE/HDD/src/wlan_hdd_cfg.c
+++ b/CORE/HDD/src/wlan_hdd_cfg.c
@@ -1671,6 +1671,12 @@
CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MIN,
CFG_IGNORE_DYNAMIC_DTIM_IN_P2P_MODE_MAX ),
+REG_VARIABLE( CFG_NUM_BUFF_ADVERT_NAME, WLAN_PARAM_Integer,
+ hdd_config_t,numBuffAdvert ,
+ VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK,
+ CFG_NUM_BUFF_ADVERT_DEFAULT,
+ CFG_NUM_BUFF_ADVERT_MIN,
+ CFG_NUM_BUFF_ADVERT_MAX ),
};
/*
@@ -3038,6 +3044,13 @@
}
#endif
+ if (ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_NUM_BUFF_ADVERT,pConfig->numBuffAdvert,
+ NULL, eANI_BOOLEAN_FALSE)==eHAL_STATUS_FAILURE)
+ {
+ fStatus = FALSE;
+ hddLog(LOGE, "Could not pass on WNI_CFG_NUM_BUFF_ADVERT to CCM\n");
+ }
+
return fStatus;
}
diff --git a/CORE/MAC/inc/wniCfgAp.h b/CORE/MAC/inc/wniCfgAp.h
index a7b11f5..178ba8d 100644
--- a/CORE/MAC/inc/wniCfgAp.h
+++ b/CORE/MAC/inc/wniCfgAp.h
@@ -245,95 +245,97 @@
#define WNI_CFG_VHT_160MHZ_UTILIZATION 200
#define WNI_CFG_MAX_AMSDU_LENGTH 201
#define WNI_CFG_MPDU_DENSITY 202
-#define WNI_CFG_MAX_RX_AMPDU_FACTOR 203
-#define WNI_CFG_SHORT_GI_20MHZ 204
-#define WNI_CFG_SHORT_GI_40MHZ 205
-#define WNI_CFG_RIFS_ENABLED 206
-#define WNI_CFG_MAX_PS_POLL 207
-#define WNI_CFG_NUM_BEACON_PER_RSSI_AVERAGE 208
-#define WNI_CFG_RSSI_FILTER_PERIOD 209
-#define WNI_CFG_FT_RSSI_FILTER_PERIOD 210
-#define WNI_CFG_MIN_RSSI_THRESHOLD 211
-#define WNI_CFG_NTH_BEACON_FILTER 212
-#define WNI_CFG_BROADCAST_FRAME_FILTER_ENABLE 213
-#define WNI_CFG_SCAN_IN_POWERSAVE 214
-#define WNI_CFG_IGNORE_DTIM 215
-#define WNI_CFG_WOWLAN_UCAST_PATTERN_FILTER_ENABLE 216
-#define WNI_CFG_WOWLAN_CHANNEL_SWITCH_ENABLE 217
-#define WNI_CFG_WOWLAN_DEAUTH_ENABLE 218
-#define WNI_CFG_WOWLAN_DISASSOC_ENABLE 219
-#define WNI_CFG_WOWLAN_MAX_MISSED_BEACON 220
-#define WNI_CFG_WOWLAN_MAX_SLEEP_PERIOD 221
-#define WNI_CFG_BA_TIMEOUT 222
-#define WNI_CFG_BA_THRESHOLD_HIGH 223
-#define WNI_CFG_MAX_BA_BUFFERS 224
-#define WNI_CFG_MAX_BA_SESSIONS 225
-#define WNI_CFG_BA_AUTO_SETUP 226
-#define WNI_CFG_ADDBA_REQ_DECLINE 227
-#define WNI_CFG_BG_SCAN_CHANNEL_LIST 228
-#define WNI_CFG_MAX_MEDIUM_TIME 229
-#define WNI_CFG_MAX_MPDUS_IN_AMPDU 230
-#define WNI_CFG_IBSS_AUTO_BSSID 231
-#define WNI_CFG_PROBE_REQ_ADDNIE_FLAG 232
-#define WNI_CFG_PROBE_REQ_ADDNIE_DATA 233
-#define WNI_CFG_PROBE_RSP_ADDNIE_FLAG 234
-#define WNI_CFG_PROBE_RSP_ADDNIE_DATA1 235
-#define WNI_CFG_PROBE_RSP_ADDNIE_DATA2 236
-#define WNI_CFG_PROBE_RSP_ADDNIE_DATA3 237
-#define WNI_CFG_ASSOC_RSP_ADDNIE_FLAG 238
-#define WNI_CFG_ASSOC_RSP_ADDNIE_DATA 239
-#define WNI_CFG_PROBE_REQ_ADDNP2PIE_FLAG 240
-#define WNI_CFG_PROBE_REQ_ADDNP2PIE_DATA 241
-#define WNI_CFG_PROBE_RSP_BCN_ADDNIE_FLAG 242
-#define WNI_CFG_PROBE_RSP_BCN_ADDNIE_DATA 243
-#define WNI_CFG_WPS_ENABLE 244
-#define WNI_CFG_WPS_STATE 245
-#define WNI_CFG_WPS_PROBE_REQ_FLAG 246
-#define WNI_CFG_WPS_VERSION 247
-#define WNI_CFG_WPS_REQUEST_TYPE 248
-#define WNI_CFG_WPS_CFG_METHOD 249
-#define WNI_CFG_WPS_UUID 250
-#define WNI_CFG_WPS_PRIMARY_DEVICE_CATEGORY 251
-#define WNI_CFG_WPS_PIMARY_DEVICE_OUI 252
-#define WNI_CFG_WPS_DEVICE_SUB_CATEGORY 253
-#define WNI_CFG_WPS_ASSOCIATION_STATE 254
-#define WNI_CFG_WPS_CONFIGURATION_ERROR 255
-#define WNI_CFG_WPS_DEVICE_PASSWORD_ID 256
-#define WNI_CFG_WPS_ASSOC_METHOD 257
-#define WNI_CFG_LOW_GAIN_OVERRIDE 258
-#define WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE 259
-#define WNI_CFG_RPE_POLLING_THRESHOLD 260
-#define WNI_CFG_RPE_AGING_THRESHOLD_FOR_AC0_REG 261
-#define WNI_CFG_RPE_AGING_THRESHOLD_FOR_AC1_REG 262
-#define WNI_CFG_RPE_AGING_THRESHOLD_FOR_AC2_REG 263
-#define WNI_CFG_RPE_AGING_THRESHOLD_FOR_AC3_REG 264
-#define WNI_CFG_NO_OF_ONCHIP_REORDER_SESSIONS 265
-#define WNI_CFG_SINGLE_TID_RC 266
-#define WNI_CFG_RRM_ENABLED 267
-#define WNI_CFG_RRM_OPERATING_CHAN_MAX 268
-#define WNI_CFG_RRM_NON_OPERATING_CHAN_MAX 269
-#define WNI_CFG_TX_PWR_CTRL_ENABLE 270
-#define WNI_CFG_MCAST_BCAST_FILTER_SETTING 271
-#define WNI_CFG_BTC_DHCP_BT_SLOTS_TO_BLOCK 272
-#define WNI_CFG_DYNAMIC_PS_POLL_VALUE 273
-#define WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT 274
-#define WNI_CFG_TELE_BCN_WAKEUP_EN 275
-#define WNI_CFG_TELE_BCN_TRANS_LI 276
-#define WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS 277
-#define WNI_CFG_TELE_BCN_MAX_LI 278
-#define WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS 279
-#define WNI_CFG_BTC_A2DP_DHCP_BT_SUB_INTERVALS 280
-#define WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD 281
-#define WNI_CFG_ASSOC_STA_LIMIT 282
-#define WNI_CFG_SAP_CHANNEL_SELECT_START_CHANNEL 283
-#define WNI_CFG_SAP_CHANNEL_SELECT_END_CHANNEL 284
-#define WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND 285
-#define WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD 286
-#define WNI_CFG_ENABLE_CLOSE_LOOP 287
-#define WNI_CFG_ENABLE_LTE_COEX 288
-#define WNI_CFG_AP_KEEP_ALIVE_TIMEOUT 289
-#define WNI_CFG_GO_KEEP_ALIVE_TIMEOUT 290
-#define WNI_CFG_ENABLE_MC_ADDR_LIST 291
+#define WNI_CFG_NUM_BUFF_ADVERT 203
+#define WNI_CFG_MAX_RX_AMPDU_FACTOR 204
+#define WNI_CFG_SHORT_GI_20MHZ 205
+#define WNI_CFG_SHORT_GI_40MHZ 206
+#define WNI_CFG_RIFS_ENABLED 207
+#define WNI_CFG_MAX_PS_POLL 208
+#define WNI_CFG_NUM_BEACON_PER_RSSI_AVERAGE 209
+#define WNI_CFG_RSSI_FILTER_PERIOD 210
+#define WNI_CFG_FT_RSSI_FILTER_PERIOD 211
+#define WNI_CFG_MIN_RSSI_THRESHOLD 212
+#define WNI_CFG_NTH_BEACON_FILTER 213
+#define WNI_CFG_BROADCAST_FRAME_FILTER_ENABLE 214
+#define WNI_CFG_SCAN_IN_POWERSAVE 215
+#define WNI_CFG_IGNORE_DTIM 216
+#define WNI_CFG_WOWLAN_UCAST_PATTERN_FILTER_ENABLE 217
+#define WNI_CFG_WOWLAN_CHANNEL_SWITCH_ENABLE 218
+#define WNI_CFG_WOWLAN_DEAUTH_ENABLE 219
+#define WNI_CFG_WOWLAN_DISASSOC_ENABLE 220
+#define WNI_CFG_WOWLAN_MAX_MISSED_BEACON 221
+#define WNI_CFG_WOWLAN_MAX_SLEEP_PERIOD 222
+#define WNI_CFG_BA_TIMEOUT 223
+#define WNI_CFG_BA_THRESHOLD_HIGH 224
+#define WNI_CFG_MAX_BA_BUFFERS 225
+#define WNI_CFG_MAX_BA_SESSIONS 226
+#define WNI_CFG_BA_AUTO_SETUP 227
+#define WNI_CFG_ADDBA_REQ_DECLINE 228
+#define WNI_CFG_BG_SCAN_CHANNEL_LIST 229
+#define WNI_CFG_MAX_MEDIUM_TIME 230
+#define WNI_CFG_MAX_MPDUS_IN_AMPDU 231
+#define WNI_CFG_IBSS_AUTO_BSSID 232
+#define WNI_CFG_PROBE_REQ_ADDNIE_FLAG 233
+#define WNI_CFG_PROBE_REQ_ADDNIE_DATA 234
+#define WNI_CFG_PROBE_RSP_ADDNIE_FLAG 235
+#define WNI_CFG_PROBE_RSP_ADDNIE_DATA1 236
+#define WNI_CFG_PROBE_RSP_ADDNIE_DATA2 237
+#define WNI_CFG_PROBE_RSP_ADDNIE_DATA3 238
+#define WNI_CFG_ASSOC_RSP_ADDNIE_FLAG 239
+#define WNI_CFG_ASSOC_RSP_ADDNIE_DATA 240
+#define WNI_CFG_PROBE_REQ_ADDNP2PIE_FLAG 241
+#define WNI_CFG_PROBE_REQ_ADDNP2PIE_DATA 242
+#define WNI_CFG_PROBE_RSP_BCN_ADDNIE_FLAG 243
+#define WNI_CFG_PROBE_RSP_BCN_ADDNIE_DATA 244
+#define WNI_CFG_WPS_ENABLE 245
+#define WNI_CFG_WPS_STATE 246
+#define WNI_CFG_WPS_PROBE_REQ_FLAG 247
+#define WNI_CFG_WPS_VERSION 248
+#define WNI_CFG_WPS_REQUEST_TYPE 249
+#define WNI_CFG_WPS_CFG_METHOD 250
+#define WNI_CFG_WPS_UUID 251
+#define WNI_CFG_WPS_PRIMARY_DEVICE_CATEGORY 252
+#define WNI_CFG_WPS_PIMARY_DEVICE_OUI 253
+#define WNI_CFG_WPS_DEVICE_SUB_CATEGORY 254
+#define WNI_CFG_WPS_ASSOCIATION_STATE 255
+#define WNI_CFG_WPS_CONFIGURATION_ERROR 256
+#define WNI_CFG_WPS_DEVICE_PASSWORD_ID 257
+#define WNI_CFG_WPS_ASSOC_METHOD 258
+#define WNI_CFG_LOW_GAIN_OVERRIDE 259
+#define WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE 260
+#define WNI_CFG_RPE_POLLING_THRESHOLD 261
+#define WNI_CFG_RPE_AGING_THRESHOLD_FOR_AC0_REG 262
+#define WNI_CFG_RPE_AGING_THRESHOLD_FOR_AC1_REG 263
+#define WNI_CFG_RPE_AGING_THRESHOLD_FOR_AC2_REG 264
+#define WNI_CFG_RPE_AGING_THRESHOLD_FOR_AC3_REG 265
+#define WNI_CFG_NO_OF_ONCHIP_REORDER_SESSIONS 266
+#define WNI_CFG_SINGLE_TID_RC 267
+#define WNI_CFG_RRM_ENABLED 268
+#define WNI_CFG_RRM_OPERATING_CHAN_MAX 269
+#define WNI_CFG_RRM_NON_OPERATING_CHAN_MAX 270
+#define WNI_CFG_TX_PWR_CTRL_ENABLE 271
+#define WNI_CFG_MCAST_BCAST_FILTER_SETTING 272
+#define WNI_CFG_BTC_DHCP_BT_SLOTS_TO_BLOCK 273
+#define WNI_CFG_DYNAMIC_PS_POLL_VALUE 274
+#define WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT 275
+#define WNI_CFG_TELE_BCN_WAKEUP_EN 276
+#define WNI_CFG_TELE_BCN_TRANS_LI 277
+#define WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS 278
+#define WNI_CFG_TELE_BCN_MAX_LI 279
+#define WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS 280
+#define WNI_CFG_BTC_A2DP_DHCP_BT_SUB_INTERVALS 281
+#define WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD 282
+#define WNI_CFG_ASSOC_STA_LIMIT 283
+#define WNI_CFG_SAP_CHANNEL_SELECT_START_CHANNEL 284
+#define WNI_CFG_SAP_CHANNEL_SELECT_END_CHANNEL 285
+#define WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND 286
+#define WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD 287
+#define WNI_CFG_ENABLE_CLOSE_LOOP 288
+#define WNI_CFG_ENABLE_LTE_COEX 289
+#define WNI_CFG_AP_KEEP_ALIVE_TIMEOUT 290
+#define WNI_CFG_GO_KEEP_ALIVE_TIMEOUT 291
+#define WNI_CFG_ENABLE_MC_ADDR_LIST 292
+#define WNI_CFG_ENABLE_UC_FILTER 293
/*
* String parameter lengths
@@ -1813,6 +1815,14 @@
#define WNI_CFG_MPDU_DENSITY_APMAX 7
#define WNI_CFG_MPDU_DENSITY_APDEF 0
+#define WNI_CFG_NUM_BUFF_ADVERT_STAMIN 0
+#define WNI_CFG_NUM_BUFF_ADVERT_STAMAX 128
+#define WNI_CFG_NUM_BUFF_ADVERT_STADEF 45
+
+#define WNI_CFG_NUM_BUFF_ADVERT_APMIN 0
+#define WNI_CFG_NUM_BUFF_ADVERT_APMAX 128
+#define WNI_CFG_NUM_BUFF_ADVERT_APDEF 45
+
#define WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMIN 0
#define WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMAX 3
#define WNI_CFG_MAX_RX_AMPDU_FACTOR_STADEF 3
@@ -2408,10 +2418,18 @@
#define WNI_CFG_ENABLE_MC_ADDR_LIST_APMAX 1
#define WNI_CFG_ENABLE_MC_ADDR_LIST_APDEF 0
-#define CFG_PARAM_MAX_NUM 292
-#define CFG_AP_IBUF_MAX_SIZE 231
+#define WNI_CFG_ENABLE_UC_FILTER_STAMIN 0
+#define WNI_CFG_ENABLE_UC_FILTER_STAMAX 1
+#define WNI_CFG_ENABLE_UC_FILTER_STADEF 0
+
+#define WNI_CFG_ENABLE_UC_FILTER_APMIN 0
+#define WNI_CFG_ENABLE_UC_FILTER_APMAX 1
+#define WNI_CFG_ENABLE_UC_FILTER_APDEF 0
+
+#define CFG_PARAM_MAX_NUM 294
+#define CFG_AP_IBUF_MAX_SIZE 233
#define CFG_AP_SBUF_MAX_SIZE 3422
-#define CFG_STA_IBUF_MAX_SIZE 226
+#define CFG_STA_IBUF_MAX_SIZE 228
#define CFG_STA_SBUF_MAX_SIZE 3388
#define CFG_SEM_MAX_NUM 19
diff --git a/CORE/MAC/inc/wniCfgSta.h b/CORE/MAC/inc/wniCfgSta.h
index 5a5aed2..a34444f 100644
--- a/CORE/MAC/inc/wniCfgSta.h
+++ b/CORE/MAC/inc/wniCfgSta.h
@@ -239,95 +239,97 @@
#define WNI_CFG_VHT_160MHZ_UTILIZATION 200
#define WNI_CFG_MAX_AMSDU_LENGTH 201
#define WNI_CFG_MPDU_DENSITY 202
-#define WNI_CFG_MAX_RX_AMPDU_FACTOR 203
-#define WNI_CFG_SHORT_GI_20MHZ 204
-#define WNI_CFG_SHORT_GI_40MHZ 205
-#define WNI_CFG_RIFS_ENABLED 206
-#define WNI_CFG_MAX_PS_POLL 207
-#define WNI_CFG_NUM_BEACON_PER_RSSI_AVERAGE 208
-#define WNI_CFG_RSSI_FILTER_PERIOD 209
-#define WNI_CFG_FT_RSSI_FILTER_PERIOD 210
-#define WNI_CFG_MIN_RSSI_THRESHOLD 211
-#define WNI_CFG_NTH_BEACON_FILTER 212
-#define WNI_CFG_BROADCAST_FRAME_FILTER_ENABLE 213
-#define WNI_CFG_SCAN_IN_POWERSAVE 214
-#define WNI_CFG_IGNORE_DTIM 215
-#define WNI_CFG_WOWLAN_UCAST_PATTERN_FILTER_ENABLE 216
-#define WNI_CFG_WOWLAN_CHANNEL_SWITCH_ENABLE 217
-#define WNI_CFG_WOWLAN_DEAUTH_ENABLE 218
-#define WNI_CFG_WOWLAN_DISASSOC_ENABLE 219
-#define WNI_CFG_WOWLAN_MAX_MISSED_BEACON 220
-#define WNI_CFG_WOWLAN_MAX_SLEEP_PERIOD 221
-#define WNI_CFG_BA_TIMEOUT 222
-#define WNI_CFG_BA_THRESHOLD_HIGH 223
-#define WNI_CFG_MAX_BA_BUFFERS 224
-#define WNI_CFG_MAX_BA_SESSIONS 225
-#define WNI_CFG_BA_AUTO_SETUP 226
-#define WNI_CFG_ADDBA_REQ_DECLINE 227
-#define WNI_CFG_BG_SCAN_CHANNEL_LIST 228
-#define WNI_CFG_MAX_MEDIUM_TIME 229
-#define WNI_CFG_MAX_MPDUS_IN_AMPDU 230
-#define WNI_CFG_IBSS_AUTO_BSSID 231
-#define WNI_CFG_PROBE_REQ_ADDNIE_FLAG 232
-#define WNI_CFG_PROBE_REQ_ADDNIE_DATA 233
-#define WNI_CFG_PROBE_RSP_ADDNIE_FLAG 234
-#define WNI_CFG_PROBE_RSP_ADDNIE_DATA1 235
-#define WNI_CFG_PROBE_RSP_ADDNIE_DATA2 236
-#define WNI_CFG_PROBE_RSP_ADDNIE_DATA3 237
-#define WNI_CFG_ASSOC_RSP_ADDNIE_FLAG 238
-#define WNI_CFG_ASSOC_RSP_ADDNIE_DATA 239
-#define WNI_CFG_PROBE_REQ_ADDNP2PIE_FLAG 240
-#define WNI_CFG_PROBE_REQ_ADDNP2PIE_DATA 241
-#define WNI_CFG_PROBE_RSP_BCN_ADDNIE_FLAG 242
-#define WNI_CFG_PROBE_RSP_BCN_ADDNIE_DATA 243
-#define WNI_CFG_WPS_ENABLE 244
-#define WNI_CFG_WPS_STATE 245
-#define WNI_CFG_WPS_PROBE_REQ_FLAG 246
-#define WNI_CFG_WPS_VERSION 247
-#define WNI_CFG_WPS_REQUEST_TYPE 248
-#define WNI_CFG_WPS_CFG_METHOD 249
-#define WNI_CFG_WPS_UUID 250
-#define WNI_CFG_WPS_PRIMARY_DEVICE_CATEGORY 251
-#define WNI_CFG_WPS_PIMARY_DEVICE_OUI 252
-#define WNI_CFG_WPS_DEVICE_SUB_CATEGORY 253
-#define WNI_CFG_WPS_ASSOCIATION_STATE 254
-#define WNI_CFG_WPS_CONFIGURATION_ERROR 255
-#define WNI_CFG_WPS_DEVICE_PASSWORD_ID 256
-#define WNI_CFG_WPS_ASSOC_METHOD 257
-#define WNI_CFG_LOW_GAIN_OVERRIDE 258
-#define WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE 259
-#define WNI_CFG_RPE_POLLING_THRESHOLD 260
-#define WNI_CFG_RPE_AGING_THRESHOLD_FOR_AC0_REG 261
-#define WNI_CFG_RPE_AGING_THRESHOLD_FOR_AC1_REG 262
-#define WNI_CFG_RPE_AGING_THRESHOLD_FOR_AC2_REG 263
-#define WNI_CFG_RPE_AGING_THRESHOLD_FOR_AC3_REG 264
-#define WNI_CFG_NO_OF_ONCHIP_REORDER_SESSIONS 265
-#define WNI_CFG_SINGLE_TID_RC 266
-#define WNI_CFG_RRM_ENABLED 267
-#define WNI_CFG_RRM_OPERATING_CHAN_MAX 268
-#define WNI_CFG_RRM_NON_OPERATING_CHAN_MAX 269
-#define WNI_CFG_TX_PWR_CTRL_ENABLE 270
-#define WNI_CFG_MCAST_BCAST_FILTER_SETTING 271
-#define WNI_CFG_BTC_DHCP_BT_SLOTS_TO_BLOCK 272
-#define WNI_CFG_DYNAMIC_PS_POLL_VALUE 273
-#define WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT 274
-#define WNI_CFG_TELE_BCN_WAKEUP_EN 275
-#define WNI_CFG_TELE_BCN_TRANS_LI 276
-#define WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS 277
-#define WNI_CFG_TELE_BCN_MAX_LI 278
-#define WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS 279
-#define WNI_CFG_BTC_A2DP_DHCP_BT_SUB_INTERVALS 280
-#define WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD 281
-#define WNI_CFG_ASSOC_STA_LIMIT 282
-#define WNI_CFG_SAP_CHANNEL_SELECT_START_CHANNEL 283
-#define WNI_CFG_SAP_CHANNEL_SELECT_END_CHANNEL 284
-#define WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND 285
-#define WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD 286
-#define WNI_CFG_ENABLE_CLOSE_LOOP 287
-#define WNI_CFG_ENABLE_LTE_COEX 288
-#define WNI_CFG_AP_KEEP_ALIVE_TIMEOUT 289
-#define WNI_CFG_GO_KEEP_ALIVE_TIMEOUT 290
-#define WNI_CFG_ENABLE_MC_ADDR_LIST 291
+#define WNI_CFG_NUM_BUFF_ADVERT 203
+#define WNI_CFG_MAX_RX_AMPDU_FACTOR 204
+#define WNI_CFG_SHORT_GI_20MHZ 205
+#define WNI_CFG_SHORT_GI_40MHZ 206
+#define WNI_CFG_RIFS_ENABLED 207
+#define WNI_CFG_MAX_PS_POLL 208
+#define WNI_CFG_NUM_BEACON_PER_RSSI_AVERAGE 209
+#define WNI_CFG_RSSI_FILTER_PERIOD 210
+#define WNI_CFG_FT_RSSI_FILTER_PERIOD 211
+#define WNI_CFG_MIN_RSSI_THRESHOLD 212
+#define WNI_CFG_NTH_BEACON_FILTER 213
+#define WNI_CFG_BROADCAST_FRAME_FILTER_ENABLE 214
+#define WNI_CFG_SCAN_IN_POWERSAVE 215
+#define WNI_CFG_IGNORE_DTIM 216
+#define WNI_CFG_WOWLAN_UCAST_PATTERN_FILTER_ENABLE 217
+#define WNI_CFG_WOWLAN_CHANNEL_SWITCH_ENABLE 218
+#define WNI_CFG_WOWLAN_DEAUTH_ENABLE 219
+#define WNI_CFG_WOWLAN_DISASSOC_ENABLE 220
+#define WNI_CFG_WOWLAN_MAX_MISSED_BEACON 221
+#define WNI_CFG_WOWLAN_MAX_SLEEP_PERIOD 222
+#define WNI_CFG_BA_TIMEOUT 223
+#define WNI_CFG_BA_THRESHOLD_HIGH 224
+#define WNI_CFG_MAX_BA_BUFFERS 225
+#define WNI_CFG_MAX_BA_SESSIONS 226
+#define WNI_CFG_BA_AUTO_SETUP 227
+#define WNI_CFG_ADDBA_REQ_DECLINE 228
+#define WNI_CFG_BG_SCAN_CHANNEL_LIST 229
+#define WNI_CFG_MAX_MEDIUM_TIME 230
+#define WNI_CFG_MAX_MPDUS_IN_AMPDU 231
+#define WNI_CFG_IBSS_AUTO_BSSID 232
+#define WNI_CFG_PROBE_REQ_ADDNIE_FLAG 233
+#define WNI_CFG_PROBE_REQ_ADDNIE_DATA 234
+#define WNI_CFG_PROBE_RSP_ADDNIE_FLAG 235
+#define WNI_CFG_PROBE_RSP_ADDNIE_DATA1 236
+#define WNI_CFG_PROBE_RSP_ADDNIE_DATA2 237
+#define WNI_CFG_PROBE_RSP_ADDNIE_DATA3 238
+#define WNI_CFG_ASSOC_RSP_ADDNIE_FLAG 239
+#define WNI_CFG_ASSOC_RSP_ADDNIE_DATA 240
+#define WNI_CFG_PROBE_REQ_ADDNP2PIE_FLAG 241
+#define WNI_CFG_PROBE_REQ_ADDNP2PIE_DATA 242
+#define WNI_CFG_PROBE_RSP_BCN_ADDNIE_FLAG 243
+#define WNI_CFG_PROBE_RSP_BCN_ADDNIE_DATA 244
+#define WNI_CFG_WPS_ENABLE 245
+#define WNI_CFG_WPS_STATE 246
+#define WNI_CFG_WPS_PROBE_REQ_FLAG 247
+#define WNI_CFG_WPS_VERSION 248
+#define WNI_CFG_WPS_REQUEST_TYPE 249
+#define WNI_CFG_WPS_CFG_METHOD 250
+#define WNI_CFG_WPS_UUID 251
+#define WNI_CFG_WPS_PRIMARY_DEVICE_CATEGORY 252
+#define WNI_CFG_WPS_PIMARY_DEVICE_OUI 253
+#define WNI_CFG_WPS_DEVICE_SUB_CATEGORY 254
+#define WNI_CFG_WPS_ASSOCIATION_STATE 255
+#define WNI_CFG_WPS_CONFIGURATION_ERROR 256
+#define WNI_CFG_WPS_DEVICE_PASSWORD_ID 257
+#define WNI_CFG_WPS_ASSOC_METHOD 258
+#define WNI_CFG_LOW_GAIN_OVERRIDE 259
+#define WNI_CFG_ENABLE_PHY_AGC_LISTEN_MODE 260
+#define WNI_CFG_RPE_POLLING_THRESHOLD 261
+#define WNI_CFG_RPE_AGING_THRESHOLD_FOR_AC0_REG 262
+#define WNI_CFG_RPE_AGING_THRESHOLD_FOR_AC1_REG 263
+#define WNI_CFG_RPE_AGING_THRESHOLD_FOR_AC2_REG 264
+#define WNI_CFG_RPE_AGING_THRESHOLD_FOR_AC3_REG 265
+#define WNI_CFG_NO_OF_ONCHIP_REORDER_SESSIONS 266
+#define WNI_CFG_SINGLE_TID_RC 267
+#define WNI_CFG_RRM_ENABLED 268
+#define WNI_CFG_RRM_OPERATING_CHAN_MAX 269
+#define WNI_CFG_RRM_NON_OPERATING_CHAN_MAX 270
+#define WNI_CFG_TX_PWR_CTRL_ENABLE 271
+#define WNI_CFG_MCAST_BCAST_FILTER_SETTING 272
+#define WNI_CFG_BTC_DHCP_BT_SLOTS_TO_BLOCK 273
+#define WNI_CFG_DYNAMIC_PS_POLL_VALUE 274
+#define WNI_CFG_PS_NULLDATA_AP_RESP_TIMEOUT 275
+#define WNI_CFG_TELE_BCN_WAKEUP_EN 276
+#define WNI_CFG_TELE_BCN_TRANS_LI 277
+#define WNI_CFG_TELE_BCN_TRANS_LI_IDLE_BCNS 278
+#define WNI_CFG_TELE_BCN_MAX_LI 279
+#define WNI_CFG_TELE_BCN_MAX_LI_IDLE_BCNS 280
+#define WNI_CFG_BTC_A2DP_DHCP_BT_SUB_INTERVALS 281
+#define WNI_CFG_INFRA_STA_KEEP_ALIVE_PERIOD 282
+#define WNI_CFG_ASSOC_STA_LIMIT 283
+#define WNI_CFG_SAP_CHANNEL_SELECT_START_CHANNEL 284
+#define WNI_CFG_SAP_CHANNEL_SELECT_END_CHANNEL 285
+#define WNI_CFG_SAP_CHANNEL_SELECT_OPERATING_BAND 286
+#define WNI_CFG_AP_DATA_AVAIL_POLL_PERIOD 287
+#define WNI_CFG_ENABLE_CLOSE_LOOP 288
+#define WNI_CFG_ENABLE_LTE_COEX 289
+#define WNI_CFG_AP_KEEP_ALIVE_TIMEOUT 290
+#define WNI_CFG_GO_KEEP_ALIVE_TIMEOUT 291
+#define WNI_CFG_ENABLE_MC_ADDR_LIST 292
+#define WNI_CFG_ENABLE_UC_FILTER 293
/*
* String parameter lengths
@@ -1230,6 +1232,10 @@
#define WNI_CFG_MPDU_DENSITY_STAMAX 7
#define WNI_CFG_MPDU_DENSITY_STADEF 0
+#define WNI_CFG_NUM_BUFF_ADVERT_STAMIN 0
+#define WNI_CFG_NUM_BUFF_ADVERT_STAMAX 128
+#define WNI_CFG_NUM_BUFF_ADVERT_STADEF 45
+
#define WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMIN 0
#define WNI_CFG_MAX_RX_AMPDU_FACTOR_STAMAX 3
#define WNI_CFG_MAX_RX_AMPDU_FACTOR_STADEF 3
@@ -1565,8 +1571,12 @@
#define WNI_CFG_ENABLE_MC_ADDR_LIST_STAMAX 1
#define WNI_CFG_ENABLE_MC_ADDR_LIST_STADEF 0
-#define CFG_PARAM_MAX_NUM 292
-#define CFG_STA_IBUF_MAX_SIZE 226
+#define WNI_CFG_ENABLE_UC_FILTER_STAMIN 0
+#define WNI_CFG_ENABLE_UC_FILTER_STAMAX 1
+#define WNI_CFG_ENABLE_UC_FILTER_STADEF 0
+
+#define CFG_PARAM_MAX_NUM 294
+#define CFG_STA_IBUF_MAX_SIZE 228
#define CFG_STA_SBUF_MAX_SIZE 3388
#define CFG_SEM_MAX_NUM 19
diff --git a/CORE/MAC/src/cfg/cfgParamName.c b/CORE/MAC/src/cfg/cfgParamName.c
index 7b3d5a3..9786d2b 100644
--- a/CORE/MAC/src/cfg/cfgParamName.c
+++ b/CORE/MAC/src/cfg/cfgParamName.c
@@ -236,6 +236,7 @@
(unsigned char *)"VHT_160MHZ_UTILIZATION",
(unsigned char *)"MAX_AMSDU_LENGTH",
(unsigned char *)"MPDU_DENSITY",
+ (unsigned char *)"NUM_BUFF_ADVERT",
(unsigned char *)"MAX_RX_AMPDU_FACTOR",
(unsigned char *)"SHORT_GI_20MHZ",
(unsigned char *)"SHORT_GI_40MHZ",
diff --git a/CORE/MAC/src/cfg/cfgUtil/cfg.txt b/CORE/MAC/src/cfg/cfgUtil/cfg.txt
index fa337c7..09fd22a 100644
--- a/CORE/MAC/src/cfg/cfgUtil/cfg.txt
+++ b/CORE/MAC/src/cfg/cfgUtil/cfg.txt
@@ -3125,6 +3125,17 @@
LIM
0 7 0
+*
+* NUM BUFFERS ADVERTISED
+* Defines number of buffers advertised in ADDBA
+*
+WNI_CFG_NUM_BUFF_ADVERT I 4 7
+V RW NP
+LIM
+0 128 45
+V RW NP
+LIM
+0 128 45
*
* Maximum Rx AMPDU Factor
diff --git a/CORE/MAC/src/pe/lim/limProcessActionFrame.c b/CORE/MAC/src/pe/lim/limProcessActionFrame.c
index f9a99b3..a125450 100644
--- a/CORE/MAC/src/pe/lim/limProcessActionFrame.c
+++ b/CORE/MAC/src/pe/lim/limProcessActionFrame.c
@@ -1324,7 +1324,7 @@
tpDphHashNode pSta;
tSirMacStatusCodes status = eSIR_MAC_SUCCESS_STATUS;
tANI_U16 aid;
- tANI_U32 frameLen, nStatus;
+ tANI_U32 frameLen, nStatus,val;
tANI_U8 *pBody;
tANI_U8 delBAFlag =0;
@@ -1420,6 +1420,17 @@
// Change the Block Ack state of this STA to wait for
// ADDBA Rsp from HAL
LIM_SET_STA_BA_STATE(pSta, frmAddBAReq.AddBAParameterSet.tid, eLIM_BA_STATE_WT_ADD_RSP);
+
+ if (wlan_cfgGetInt(pMac, WNI_CFG_NUM_BUFF_ADVERT , &val) != eSIR_SUCCESS)
+ {
+ limLog(pMac, LOGP, FL("Unable to get WNI_CFG_NUM_BUFF_ADVERT \n"));
+ return ;
+ }
+
+ frmAddBAReq.AddBAParameterSet.bufferSize=
+ VOS_MIN(val,frmAddBAReq.AddBAParameterSet.bufferSize);
+ limLog( pMac, LOGE, FL( "ADDBAREQ NUMBUFF %d \n" ),
+ frmAddBAReq.AddBAParameterSet.bufferSize);
if( eSIR_SUCCESS != limPostMsgAddBAReq( pMac,
pSta,
diff --git a/firmware_bin/WCNSS_cfg.dat b/firmware_bin/WCNSS_cfg.dat
index 1169eab..7b27eab 100644
--- a/firmware_bin/WCNSS_cfg.dat
+++ b/firmware_bin/WCNSS_cfg.dat
Binary files differ