summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDeepak Dhamdhere <ddhamdhe@qca.qualcomm.com>2015-07-21 13:36:09 -0700
committerAnjaneedevi Kapparapu <akappa@codeaurora.org>2015-08-17 15:44:19 +0530
commit4eaaab9ab716e8e1cdbb65ced1af9f83d96e00ac (patch)
tree5631ef1f2590a06f1060132d0b8104195938b5c2
parent8b57932fe63076eb08b0041558967746412adc18 (diff)
qcacld-2.0: Add .ini configuration for max number of AMSDU
Host driver can send number of max AMSDUs in transmit frames. Added a call to process_wma_set_command() similar to cli command processing for GEN_VDEV_PARAM_AMSDU during device initialization. Changed name of the field from isAmsduSupportInAMPDU to maxAmsduNum in several places. Existing SME and LIM code passes this parameter to WMA, but it is not used there. It may be useful if AMSDU setting is changed to per-vdev basis in future. WCNSS_qcom_cfg.ini changes: Removed - "gAmsduSupportInAMPDU" Added - Name = "gMaxAmsduNum", Min = 0, Max = 3, Default = 1 Change-Id: I2dfdd8c8c4a8807596ff28eee192ef66ac425653 CRs-Fixed: 871686
-rw-r--r--CORE/HDD/inc/wlan_hdd_cfg.h10
-rw-r--r--CORE/HDD/src/wlan_hdd_cfg.c17
-rwxr-xr-xCORE/HDD/src/wlan_hdd_main.c12
-rw-r--r--CORE/HDD/src/wlan_hdd_wext.c4
-rw-r--r--CORE/MAC/inc/sirApi.h2
-rw-r--r--CORE/MAC/inc/sirMacProtDef.h1
-rw-r--r--CORE/MAC/src/pe/include/limSession.h2
-rw-r--r--CORE/MAC/src/pe/lim/limAssocUtils.c3
-rw-r--r--CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c2
-rw-r--r--CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c3
-rw-r--r--CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c2
-rw-r--r--CORE/MAC/src/pe/lim/limSendManagementFrames.c2
-rw-r--r--CORE/MAC/src/pe/lim/limSerDesUtils.c2
-rw-r--r--CORE/MAC/src/pe/lim/limUtils.c4
-rw-r--r--CORE/SME/inc/csrApi.h2
-rw-r--r--CORE/SME/inc/csrInternal.h2
-rw-r--r--CORE/SME/inc/sme_Api.h2
-rw-r--r--CORE/SME/src/csr/csrApiRoam.c6
-rw-r--r--CORE/WDA/inc/legacy/halMsgApi.h1
19 files changed, 55 insertions, 24 deletions
diff --git a/CORE/HDD/inc/wlan_hdd_cfg.h b/CORE/HDD/inc/wlan_hdd_cfg.h
index be2c707b17f6..73036e41a12c 100644
--- a/CORE/HDD/inc/wlan_hdd_cfg.h
+++ b/CORE/HDD/inc/wlan_hdd_cfg.h
@@ -2183,10 +2183,10 @@ typedef enum
#define CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX ( 0xffffffff )
#endif
-#define CFG_AMSDU_SUPPORT_IN_AMPDU_NAME "gAmsduSupportInAMPDU"
-#define CFG_AMSDU_SUPPORT_IN_AMPDU_MIN (0)
-#define CFG_AMSDU_SUPPORT_IN_AMPDU_MAX (1)
-#define CFG_AMSDU_SUPPORT_IN_AMPDU_DEFAULT (0) //disabled
+#define CFG_MAX_AMSDU_NUM_NAME "gMaxAmsduNum"
+#define CFG_MAX_AMSDU_NUM_MIN (0)
+#define CFG_MAX_AMSDU_NUM_MAX (3)
+#define CFG_MAX_AMSDU_NUM_DEFAULT (1)
/* Prefer connecting to 5G AP even if its RSSI is lower by
gSelect5GHzMargin dBm than 2.4G AP.
@@ -3496,7 +3496,7 @@ typedef struct
v_BOOL_t configPNOScanSupport;
v_U32_t configPNOScanTimerRepeatValue;
#endif
- v_U8_t isAmsduSupportInAMPDU;
+ v_U8_t max_amsdu_num;
v_U8_t nSelect5GHzMargin;
v_U8_t isCoalesingInIBSSAllowed;
diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c
index 2e883193ef36..cbf9995b14e8 100644
--- a/CORE/HDD/src/wlan_hdd_cfg.c
+++ b/CORE/HDD/src/wlan_hdd_cfg.c
@@ -2730,12 +2730,12 @@ REG_TABLE_ENTRY g_registry_table[] =
CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MIN,
CFG_PNO_SCAN_TIMER_REPEAT_VALUE_MAX),
#endif
- REG_VARIABLE( CFG_AMSDU_SUPPORT_IN_AMPDU_NAME , WLAN_PARAM_Integer,
- hdd_config_t, isAmsduSupportInAMPDU,
- VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
- CFG_AMSDU_SUPPORT_IN_AMPDU_DEFAULT,
- CFG_AMSDU_SUPPORT_IN_AMPDU_MIN,
- CFG_AMSDU_SUPPORT_IN_AMPDU_MAX ),
+ REG_VARIABLE(CFG_MAX_AMSDU_NUM_NAME , WLAN_PARAM_Integer,
+ hdd_config_t, max_amsdu_num,
+ VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
+ CFG_MAX_AMSDU_NUM_DEFAULT,
+ CFG_MAX_AMSDU_NUM_MIN,
+ CFG_MAX_AMSDU_NUM_MAX),
REG_VARIABLE( CFG_STRICT_5GHZ_PREF_BY_MARGIN , WLAN_PARAM_Integer,
hdd_config_t, nSelect5GHzMargin,
@@ -4449,7 +4449,8 @@ void print_hdd_cfg(hdd_context_t *pHddCtx)
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApLinkMonitorPeriod] Value = [%u]",pHddCtx->cfg_ini->apLinkMonitorPeriod);
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gGoKeepAlivePeriod] Value = [%u]",pHddCtx->cfg_ini->goKeepAlivePeriod);
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gApKeepAlivePeriod]Value = [%u]",pHddCtx->cfg_ini->apKeepAlivePeriod);
- VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gAmsduSupportInAMPDU] Value = [%u] ",pHddCtx->cfg_ini->isAmsduSupportInAMPDU);
+ VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH,
+ "Name = [gMaxAmsduNum] Value = [%u] ", pHddCtx->cfg_ini->max_amsdu_num);
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [nSelect5GHzMargin] Value = [%u] ",pHddCtx->cfg_ini->nSelect5GHzMargin);
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gCoalesingInIBSS] Value = [%u] ",pHddCtx->cfg_ini->isCoalesingInIBSSAllowed);
VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_INFO_HIGH, "Name = [gIbssATIMWinSize] Value = [%u] ",pHddCtx->cfg_ini->ibssATIMWinSize);
@@ -6392,7 +6393,7 @@ VOS_STATUS hdd_set_sme_config( hdd_context_t *pHddCtx )
smeConfig->csrConfig.cc_switch_mode = pConfig->WlanMccToSccSwitchMode;
#endif
- smeConfig->csrConfig.isAmsduSupportInAMPDU = pConfig->isAmsduSupportInAMPDU;
+ smeConfig->csrConfig.max_amsdu_num = pConfig->max_amsdu_num;
smeConfig->csrConfig.nSelect5GHzMargin = pConfig->nSelect5GHzMargin;
smeConfig->csrConfig.isCoalesingInIBSSAllowed =
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index c8e67e1bfc9c..290ee715e1c1 100755
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -8910,6 +8910,18 @@ hdd_adapter_t* hdd_open_adapter( hdd_context_t *pHddCtx, tANI_U8 session_type,
" failed %d", __func__, ret);
goto err_free_netdev;
}
+
+ hddLog(LOG1, FL("SET AMSDU num %d"), pHddCtx->cfg_ini->max_amsdu_num);
+
+ ret = process_wma_set_command((int)pAdapter->sessionId,
+ (int)GEN_VDEV_PARAM_AMSDU,
+ (int)pHddCtx->cfg_ini->max_amsdu_num,
+ GEN_CMD);
+ if (ret != 0) {
+ hddLog(VOS_TRACE_LEVEL_ERROR,
+ FL("GEN_VDEV_PARAM_AMSDU set failed %d"), ret);
+ goto err_free_netdev;
+ }
}
diff --git a/CORE/HDD/src/wlan_hdd_wext.c b/CORE/HDD/src/wlan_hdd_wext.c
index 44fd257307af..b3a714c9af80 100644
--- a/CORE/HDD/src/wlan_hdd_wext.c
+++ b/CORE/HDD/src/wlan_hdd_wext.c
@@ -5816,6 +5816,10 @@ static int __iw_setint_getnone(struct net_device *dev,
ret = process_wma_set_command((int)pAdapter->sessionId,
(int)GEN_VDEV_PARAM_AMSDU,
set_value, GEN_CMD);
+ if (!ret) {
+ /* Update the stored ini value */
+ pHddCtx->cfg_ini->max_amsdu_num = set_value;
+ }
break;
}
diff --git a/CORE/MAC/inc/sirApi.h b/CORE/MAC/inc/sirApi.h
index 2b1e64eac300..22a1c00b07e3 100644
--- a/CORE/MAC/inc/sirApi.h
+++ b/CORE/MAC/inc/sirApi.h
@@ -1087,7 +1087,7 @@ typedef struct sSirSmeJoinReq
tANI_U8 enableHtSmps;
tANI_U8 htSmps;
- tANI_U8 isAmsduSupportInAMPDU;
+ tANI_U8 max_amsdu_num;
tAniBool isWMEenabled;
tAniBool isQosEnabled;
tAniBool isOSENConnection;
diff --git a/CORE/MAC/inc/sirMacProtDef.h b/CORE/MAC/inc/sirMacProtDef.h
index 5d62e7757de4..429d631d671d 100644
--- a/CORE/MAC/inc/sirMacProtDef.h
+++ b/CORE/MAC/inc/sirMacProtDef.h
@@ -1794,6 +1794,7 @@ typedef enum eHTCapability
eHT_PSMP,
eHT_DSSS_CCK_MODE_40MHZ,
eHT_MAX_AMSDU_LENGTH,
+ eHT_MAX_AMSDU_NUM,
eHT_DELAYED_BA,
eHT_RX_STBC,
eHT_TX_STBC,
diff --git a/CORE/MAC/src/pe/include/limSession.h b/CORE/MAC/src/pe/include/limSession.h
index 0d66528b93e8..82772d37c11a 100644
--- a/CORE/MAC/src/pe/include/limSession.h
+++ b/CORE/MAC/src/pe/include/limSession.h
@@ -382,7 +382,7 @@ typedef struct sPESession // Added to Support BT-AMP
#ifdef FEATURE_WLAN_DIAG_SUPPORT_LIM
tANI_S8 rssi;
#endif
- tANI_U8 isAmsduSupportInAMPDU;
+ tANI_U8 max_amsdu_num;
tANI_U8 isCoalesingInIBSSAllowed;
tSirHTConfig htConfig;
diff --git a/CORE/MAC/src/pe/lim/limAssocUtils.c b/CORE/MAC/src/pe/lim/limAssocUtils.c
index 85d02d2e66dd..e77f75479fc6 100644
--- a/CORE/MAC/src/pe/lim/limAssocUtils.c
+++ b/CORE/MAC/src/pe/lim/limAssocUtils.c
@@ -3000,6 +3000,9 @@ limAddStaSelf(tpAniSirGlobal pMac,tANI_U16 staIdx, tANI_U8 updateSta, tpPESessio
pAddStaParams->maxAmpduDensity = limGetHTCapability( pMac, eHT_MPDU_DENSITY, psessionEntry );
pAddStaParams->maxAmpduSize = limGetHTCapability(pMac, eHT_MAX_RX_AMPDU_FACTOR, psessionEntry);
pAddStaParams->maxAmsduSize = limGetHTCapability( pMac, eHT_MAX_AMSDU_LENGTH, psessionEntry );
+ pAddStaParams->max_amsdu_num = limGetHTCapability(pMac,
+ eHT_MAX_AMSDU_NUM,
+ psessionEntry);
pAddStaParams->fDsssCckMode40Mhz = limGetHTCapability( pMac, eHT_DSSS_CCK_MODE_40MHZ, psessionEntry);
/*
* We will read the gShortGI20Mhz from ini file, and if it is set
diff --git a/CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c b/CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c
index 7dee298a7118..c323394c5d8e 100644
--- a/CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c
+++ b/CORE/MAC/src/pe/lim/limProcessMlmReqMessages.c
@@ -1556,6 +1556,8 @@ mlm_add_sta(
pSta->delBASupport = limGetHTCapability( pMac, eHT_DELAYED_BA, psessionEntry );
pSta->maxAmpduDensity = limGetHTCapability( pMac, eHT_MPDU_DENSITY, psessionEntry );
pSta->maxAmsduSize = limGetHTCapability( pMac, eHT_MAX_AMSDU_LENGTH, psessionEntry );
+ pSta->max_amsdu_num = limGetHTCapability(pMac, eHT_MAX_AMSDU_NUM,
+ psessionEntry);
pSta->fDsssCckMode40Mhz = limGetHTCapability( pMac, eHT_DSSS_CCK_MODE_40MHZ, psessionEntry);
pSta->fShortGI20Mhz = limGetHTCapability( pMac, eHT_SHORT_GI_20MHZ, psessionEntry);
pSta->fShortGI40Mhz = limGetHTCapability( pMac, eHT_SHORT_GI_40MHZ, psessionEntry);
diff --git a/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c b/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c
index b124fca023b7..a893bb3a85fe 100644
--- a/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c
+++ b/CORE/MAC/src/pe/lim/limProcessMlmRspMessages.c
@@ -3068,6 +3068,9 @@ limProcessStaMlmAddBssRspFT(tpAniSirGlobal pMac, tpSirMsgQ limMsgQ, tpPESession
pAddStaParams->maxAmpduDensity = limGetHTCapability( pMac, eHT_MPDU_DENSITY, psessionEntry );
pAddStaParams->maxAmpduSize = limGetHTCapability(pMac, eHT_MAX_RX_AMPDU_FACTOR, psessionEntry);
pAddStaParams->maxAmsduSize = limGetHTCapability( pMac, eHT_MAX_AMSDU_LENGTH, psessionEntry );
+ pAddStaParams->max_amsdu_num = limGetHTCapability(pMac,
+ eHT_MAX_AMSDU_NUM,
+ psessionEntry);
pAddStaParams->fDsssCckMode40Mhz = limGetHTCapability( pMac, eHT_DSSS_CCK_MODE_40MHZ, psessionEntry);
pAddStaParams->fShortGI20Mhz = limGetHTCapability( pMac, eHT_SHORT_GI_20MHZ, psessionEntry);
pAddStaParams->fShortGI40Mhz = limGetHTCapability( pMac, eHT_SHORT_GI_40MHZ, psessionEntry);
diff --git a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
index 51cd071030bd..ce3c2e8b38f1 100644
--- a/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
+++ b/CORE/MAC/src/pe/lim/limProcessSmeReqMessages.c
@@ -1900,7 +1900,7 @@ __limProcessSmeJoinReq(tpAniSirGlobal pMac, tANI_U32 *pMsgBuf)
limLog(pMac,LOG1,FL("SessionId:%d New session created"),
sessionId);
}
- psessionEntry->isAmsduSupportInAMPDU = pSmeJoinReq->isAmsduSupportInAMPDU;
+ psessionEntry->max_amsdu_num = pSmeJoinReq->max_amsdu_num;
/* Store Session related parameters */
/* Store PE session Id in session Table */
diff --git a/CORE/MAC/src/pe/lim/limSendManagementFrames.c b/CORE/MAC/src/pe/lim/limSendManagementFrames.c
index 224bb07132a5..0c30336ec238 100644
--- a/CORE/MAC/src/pe/lim/limSendManagementFrames.c
+++ b/CORE/MAC/src/pe/lim/limSendManagementFrames.c
@@ -4917,7 +4917,7 @@ tSirRetStatus limSendAddBARsp( tpAniSirGlobal pMac,
frmAddBARsp.AddBAParameterSet.policy = pMlmAddBARsp->baPolicy;
frmAddBARsp.AddBAParameterSet.bufferSize = pMlmAddBARsp->baBufferSize;
- if(psessionEntry->isAmsduSupportInAMPDU)
+ if (psessionEntry->max_amsdu_num > 0)
{
frmAddBARsp.AddBAParameterSet.amsduSupported =
psessionEntry->amsduSupportedInBA;
diff --git a/CORE/MAC/src/pe/lim/limSerDesUtils.c b/CORE/MAC/src/pe/lim/limSerDesUtils.c
index 77ea7539acda..2b689027df72 100644
--- a/CORE/MAC/src/pe/lim/limSerDesUtils.c
+++ b/CORE/MAC/src/pe/lim/limSerDesUtils.c
@@ -1266,7 +1266,7 @@ limJoinReqSerDes(tpAniSirGlobal pMac, tpSirSmeJoinReq pJoinReq, tANI_U8 *pBuf)
if (limCheckRemainingLength(pMac, len) == eSIR_FAILURE)
return eSIR_FAILURE;
- pJoinReq->isAmsduSupportInAMPDU= *pBuf++;
+ pJoinReq->max_amsdu_num = *pBuf++;
len--;
if (limCheckRemainingLength(pMac, len) == eSIR_FAILURE)
return eSIR_FAILURE;
diff --git a/CORE/MAC/src/pe/lim/limUtils.c b/CORE/MAC/src/pe/lim/limUtils.c
index 3a20ce1bdbdc..46e5342ea512 100644
--- a/CORE/MAC/src/pe/lim/limUtils.c
+++ b/CORE/MAC/src/pe/lim/limUtils.c
@@ -3131,6 +3131,10 @@ tSirMacASCapabilityInfo macASCapabilityInfo = {0};
retVal = (tANI_U8) macHTCapabilityInfo.maximalAMSDUsize;
break;
+ case eHT_MAX_AMSDU_NUM:
+ retVal = (tANI_U8) psessionEntry->max_amsdu_num;
+ break;
+
case eHT_DELAYED_BA:
retVal = (tANI_U8) macHTCapabilityInfo.delayedBA;
break;
diff --git a/CORE/SME/inc/csrApi.h b/CORE/SME/inc/csrApi.h
index 9c761635e764..d7f30708aef6 100644
--- a/CORE/SME/inc/csrApi.h
+++ b/CORE/SME/inc/csrApi.h
@@ -1250,7 +1250,7 @@ typedef struct tagCsrConfigParam
tANI_U8 enableTxLdpc;
- tANI_U8 isAmsduSupportInAMPDU;
+ tANI_U8 max_amsdu_num;
tANI_U8 nSelect5GHzMargin;
tANI_U8 isCoalesingInIBSSAllowed;
diff --git a/CORE/SME/inc/csrInternal.h b/CORE/SME/inc/csrInternal.h
index 19286b4f56b9..107726678a1f 100644
--- a/CORE/SME/inc/csrInternal.h
+++ b/CORE/SME/inc/csrInternal.h
@@ -677,7 +677,7 @@ typedef struct tagCsrConfig
* Enable/Disable heartbeat offload
*/
tANI_BOOLEAN enableHeartBeatOffload;
- tANI_U8 isAmsduSupportInAMPDU;
+ tANI_U8 max_amsdu_num;
tANI_U8 nSelect5GHzMargin;
tANI_U8 isCoalesingInIBSSAllowed;
#ifdef FEATURE_WLAN_MCC_TO_SCC_SWITCH
diff --git a/CORE/SME/inc/sme_Api.h b/CORE/SME/inc/sme_Api.h
index 50718053ec5c..3377172d9892 100644
--- a/CORE/SME/inc/sme_Api.h
+++ b/CORE/SME/inc/sme_Api.h
@@ -112,7 +112,7 @@ typedef struct _smeConfigParams
tANI_BOOLEAN isWESModeEnabled;
#endif
tANI_BOOLEAN fScanOffload;
- tANI_U8 isAmsduSupportInAMPDU;
+ tANI_U8 max_amsdu_num;
tANI_BOOLEAN fP2pListenOffload;
tANI_BOOLEAN pnoOffload;
tANI_U8 fEnableDebugLog;
diff --git a/CORE/SME/src/csr/csrApiRoam.c b/CORE/SME/src/csr/csrApiRoam.c
index fa0cf608627f..45349d5e5c8c 100644
--- a/CORE/SME/src/csr/csrApiRoam.c
+++ b/CORE/SME/src/csr/csrApiRoam.c
@@ -1912,7 +1912,7 @@ eHalStatus csrChangeDefaultConfigParam(tpAniSirGlobal pMac, tCsrConfigParam *pPa
pMac->roam.configParam.htSmps= pParam->htSmps;
pMac->roam.configParam.txLdpcEnable = pParam->enableTxLdpc;
- pMac->roam.configParam.isAmsduSupportInAMPDU = pParam->isAmsduSupportInAMPDU;
+ pMac->roam.configParam.max_amsdu_num = pParam->max_amsdu_num;
pMac->roam.configParam.nSelect5GHzMargin = pParam->nSelect5GHzMargin;
pMac->roam.configParam.ignorePeerErpInfo = pParam->ignorePeerErpInfo;
pMac->roam.configParam.isCoalesingInIBSSAllowed =
@@ -2071,7 +2071,7 @@ eHalStatus csrGetConfigParam(tpAniSirGlobal pMac, tCsrConfigParam *pParam)
#endif
pParam->enableTxLdpc = pMac->roam.configParam.txLdpcEnable;
- pParam->isAmsduSupportInAMPDU = pMac->roam.configParam.isAmsduSupportInAMPDU;
+ pParam->max_amsdu_num = pMac->roam.configParam.max_amsdu_num;
pParam->nSelect5GHzMargin = pMac->roam.configParam.nSelect5GHzMargin;
pParam->ignorePeerErpInfo = pMac->roam.configParam.ignorePeerErpInfo;
@@ -13913,7 +13913,7 @@ eHalStatus csrSendJoinReqMsg( tpAniSirGlobal pMac, tANI_U32 sessionId, tSirBssDe
*pBuf = (tANI_U8)pMac->roam.configParam.htSmps;
pBuf++;
- *pBuf = (tANI_U8)pMac->roam.configParam.isAmsduSupportInAMPDU;
+ *pBuf = (tANI_U8)pMac->roam.configParam.max_amsdu_num;
pBuf++;
// WME
diff --git a/CORE/WDA/inc/legacy/halMsgApi.h b/CORE/WDA/inc/legacy/halMsgApi.h
index a8c2b31a1fbf..7598cca2d326 100644
--- a/CORE/WDA/inc/legacy/halMsgApi.h
+++ b/CORE/WDA/inc/legacy/halMsgApi.h
@@ -311,6 +311,7 @@ typedef struct
tANI_U32 peerAtimWindowLength;
tANI_U8 nonRoamReassoc;
uint32_t nss; /* Number of spatial streams supported */
+ tANI_U8 max_amsdu_num;
} tAddStaParams, *tpAddStaParams;