summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSachin Ahuja <sahuja@qti.qualcomm.com>2013-12-28 07:21:22 +0530
committerPrakash Dhavali <pdhavali@codeaurora.org>2014-01-16 21:46:19 -0800
commit0d8f40f8a5e1fc2d830f698c5f2fbd554269aed4 (patch)
treed27b74bd90f34381fba6d0c0db817cd1f94402eb
parent91b2d2e73da39c7469d7693c37a5111d4cf78bc0 (diff)
cld: Support of max clients in AP mode
Changes done to get the maxClients Supported by gSoftApMaxPeers ini. Default value of ini is 14 and it can be configured to 32 for Rome 1.3. As UMAC reserves 2 peerIdxs for Riva, gLimAssocStaLimit is incremented while updating config values for CLD. . Change-Id: Ibab722eed2cb74ec9736519a4fdf058bf9b7a1b2 CRs-Fixed: 594375
-rw-r--r--CORE/HDD/src/wlan_hdd_cfg.c5
-rw-r--r--CORE/MAC/src/pe/lim/limApi.c6
-rw-r--r--CORE/MAC/src/pe/lim/limProcessCfgUpdates.c10
-rw-r--r--CORE/SERVICES/WMA/wma.c9
-rw-r--r--CORE/WDI/CP/inc/wlan_qct_wdi.h2
5 files changed, 29 insertions, 3 deletions
diff --git a/CORE/HDD/src/wlan_hdd_cfg.c b/CORE/HDD/src/wlan_hdd_cfg.c
index 9892d527c5dd..064b57ba20d7 100644
--- a/CORE/HDD/src/wlan_hdd_cfg.c
+++ b/CORE/HDD/src/wlan_hdd_cfg.c
@@ -4604,7 +4604,12 @@ v_BOOL_t hdd_update_config_dat( hdd_context_t *pHddCtx )
}
else
{
+#ifndef QCA_WIFI_2_0
val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
+#else
+ val = pConfig->maxNumberOfPeers;
+#endif
+
}
if(ccmCfgSetInt(pHddCtx->hHal, WNI_CFG_ASSOC_STA_LIMIT, val,
NULL, eANI_BOOLEAN_FALSE) == eHAL_STATUS_FAILURE)
diff --git a/CORE/MAC/src/pe/lim/limApi.c b/CORE/MAC/src/pe/lim/limApi.c
index 9e339bd6c335..1b0bbbac2c88 100644
--- a/CORE/MAC/src/pe/lim/limApi.c
+++ b/CORE/MAC/src/pe/lim/limApi.c
@@ -354,9 +354,13 @@ static void __limInitAssocVars(tpAniSirGlobal pMac)
{
limLog( pMac, LOGP, FL( "cfg get assoc sta limit failed" ));
}
+#ifdef QCA_WIFI_2_0
+ /* This +1 is done because of peerIdx assign logic in limAssignPeerIdx */
+ pMac->lim.gLimAssocStaLimit = val + 1;
+#else
pMac->lim.gLimAssocStaLimit = val;
+#endif
pMac->lim.gLimIbssStaLimit = val;
-
// Place holder for current authentication request
// being handled
pMac->lim.gpLimMlmAuthReq = NULL;
diff --git a/CORE/MAC/src/pe/lim/limProcessCfgUpdates.c b/CORE/MAC/src/pe/lim/limProcessCfgUpdates.c
index f87d74690d5b..6955b3546aa1 100644
--- a/CORE/MAC/src/pe/lim/limProcessCfgUpdates.c
+++ b/CORE/MAC/src/pe/lim/limProcessCfgUpdates.c
@@ -596,7 +596,12 @@ limHandleCFGparamUpdate(tpAniSirGlobal pMac, tANI_U32 cfgId)
limLog( pMac, LOGE, FL( "Unable to get WNI_CFG_ASSOC_STA_LIMIT" ));
break;
}
+#ifdef QCA_WIFI_2_0
+ /* This +1 is done becuse of peerIdx assign logic in limAssignPeerIdx */
+ pMac->lim.gLimAssocStaLimit = (tANI_U16)val1 + 1;
+#else
pMac->lim.gLimAssocStaLimit = (tANI_U16)val1;
+#endif
break;
case WNI_CFG_DEL_ALL_RX_BA_SESSIONS_2_4_G_BTC:
@@ -781,7 +786,12 @@ limUpdateConfig(tpAniSirGlobal pMac,tpPESession psessionEntry)
}
val = WNI_CFG_ASSOC_STA_LIMIT_STADEF;
}
+#ifdef QCA_WIFI_2_0
+ /* This +1 is done becuse of peerIdx assign logic in limAssignPeerIdx */
+ pMac->lim.gLimAssocStaLimit =(tANI_U16) val + 1;
+#else
pMac->lim.gLimAssocStaLimit = (tANI_U16)val;
+#endif
#if defined WLAN_FEATURE_VOWIFI
rrmUpdateConfig( pMac, psessionEntry );
diff --git a/CORE/SERVICES/WMA/wma.c b/CORE/SERVICES/WMA/wma.c
index ab8bfabee9e7..e7c8044de378 100644
--- a/CORE/SERVICES/WMA/wma.c
+++ b/CORE/SERVICES/WMA/wma.c
@@ -1826,6 +1826,7 @@ VOS_STATUS WDA_open(v_VOID_t *vos_context, v_VOID_t *os_ctx,
adf_os_device_t adf_dev;
v_VOID_t *wmi_handle;
VOS_STATUS vos_status = VOS_STATUS_SUCCESS;
+ struct ol_softc *scn;
WMA_LOGD("%s: Enter", __func__);
@@ -1887,7 +1888,13 @@ VOS_STATUS WDA_open(v_VOID_t *vos_context, v_VOID_t *os_ctx,
#endif
/*TODO: Recheck below parameters */
- mac_params->maxStation = WMA_MAX_SUPPORTED_STAS;
+ /*
+ * Increase maxStation by 1 here so that correct hashtable and
+ * gpLimPeerIdxpool memory is allocated in peCreateSession
+ */
+ scn = vos_get_context(VOS_MODULE_ID_HIF, vos_context);
+ mac_params->maxStation = ol_get_number_of_peers_supported(scn) + 1;
+
mac_params->maxBssId = WMA_MAX_SUPPORTED_BSS;
mac_params->frameTransRequired = 0;
diff --git a/CORE/WDI/CP/inc/wlan_qct_wdi.h b/CORE/WDI/CP/inc/wlan_qct_wdi.h
index 6cbeea8f10ba..7eceb18262a2 100644
--- a/CORE/WDI/CP/inc/wlan_qct_wdi.h
+++ b/CORE/WDI/CP/inc/wlan_qct_wdi.h
@@ -10176,7 +10176,7 @@ wpt_uint8 WDI_getHostWlanFeatCaps(wpt_uint8 feat_enum_value);
#ifdef QCA_WIFI_2_0
static inline wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value)
{
- return 0;
+ return 1;
}
#else
wpt_uint8 WDI_getFwWlanFeatCaps(wpt_uint8 feat_enum_value);