Merge "qcacld-3.0: Statically allocate DPH hash table" into wlan-cld3.driver.lnx.2.0

This commit is contained in:
CNSS_WLAN Service 2017-12-09 06:53:58 -08:00 • committed by Gerrit - the friendly Code Review server
commit f8238da07d
5 changed files with 24 additions and 18 deletions

View file

@ -7460,8 +7460,8 @@ enum hdd_link_speed_rpt_type {
#define CFG_SAP_MAX_NO_PEERS "gSoftApMaxPeers"
#define CFG_SAP_MAX_NO_PEERS_MIN (1)
#define CFG_SAP_MAX_NO_PEERS_MAX (32)
#define CFG_SAP_MAX_NO_PEERS_DEFAULT (32)
#define CFG_SAP_MAX_NO_PEERS_MAX (SIR_SAP_MAX_NUM_PEERS)
#define CFG_SAP_MAX_NO_PEERS_DEFAULT (SIR_SAP_MAX_NUM_PEERS)
/*
* <ini>

View file

@ -59,6 +59,8 @@ typedef struct sAniSirGlobal *tpAniSirGlobal;
#include <dot11f.h>
#include "wlan_policy_mgr_api.h"
#define SIR_MAX_SUPPORTED_BSS 5
#define OFFSET_OF(structType, fldName) (&((structType *)0)->fldName)
/* / Max supported channel list */
@ -130,6 +132,9 @@ typedef uint8_t tSirVersionString[SIR_VERSION_STRING_LEN];
/* Maximum peer station number query one time */
#define MAX_PEER_STA 12
/* Maximum number of peers for SAP */
#define SIR_SAP_MAX_NUM_PEERS 32
/**
* enum sir_conn_update_reason: Reason for conc connection update
* @SIR_UPDATE_REASON_SET_OPER_CHAN: Set probable operating channel

View file

@ -47,6 +47,10 @@
#include "sch_api.h"
#include "lim_send_messages.h"
static struct sDphHashNode
g_dph_node_array[SIR_MAX_SUPPORTED_BSS][SIR_SAP_MAX_NUM_PEERS + 1];
/*--------------------------------------------------------------------------
\brief pe_init_beacon_params() - Initialize the beaconParams structure
@ -427,17 +431,7 @@ pe_create_session(tpAniSirGlobal pMac, uint8_t *bssid, uint8_t *sessionId,
return NULL;
}
session_ptr->dph.dphHashTable.pDphNodeArray =
qdf_mem_malloc(sizeof(tDphHashNode) * (numSta + 1));
if (NULL == session_ptr->dph.dphHashTable.pDphNodeArray) {
pe_err("memory allocate failed!");
qdf_mem_free(session_ptr->dph.dphHashTable.pHashTable);
session_ptr->dph.dphHashTable.
pHashTable = NULL;
return NULL;
}
session_ptr->dph.dphHashTable.pDphNodeArray = g_dph_node_array[i];
session_ptr->dph.dphHashTable.size = numSta + 1;
dph_hash_table_class_init(pMac, &session_ptr->dph.dphHashTable);
session_ptr->gpLimPeerIdxpool = qdf_mem_malloc(
@ -446,7 +440,9 @@ pe_create_session(tpAniSirGlobal pMac, uint8_t *bssid, uint8_t *sessionId,
if (NULL == session_ptr->gpLimPeerIdxpool) {
pe_err("memory allocate failed!");
qdf_mem_free(session_ptr->dph.dphHashTable.pHashTable);
qdf_mem_free(session_ptr->dph.dphHashTable.pDphNodeArray);
qdf_mem_zero(session_ptr->dph.dphHashTable.pDphNodeArray,
sizeof(struct sDphHashNode) *
(SIR_SAP_MAX_NUM_PEERS + 1));
session_ptr->dph.dphHashTable.pHashTable = NULL;
session_ptr->dph.dphHashTable.pDphNodeArray = NULL;
return NULL;
@ -501,7 +497,10 @@ pe_create_session(tpAniSirGlobal pMac, uint8_t *bssid, uint8_t *sessionId,
|| (NULL == session_ptr->pSchBeaconFrameEnd)) {
pe_err("memory allocate failed!");
qdf_mem_free(session_ptr->dph.dphHashTable.pHashTable);
qdf_mem_free(session_ptr->dph.dphHashTable.pDphNodeArray);
qdf_mem_zero(
session_ptr->dph.dphHashTable.pDphNodeArray,
sizeof(struct sDphHashNode) *
(SIR_SAP_MAX_NUM_PEERS + 1));
qdf_mem_free(session_ptr->gpLimPeerIdxpool);
qdf_mem_free(session_ptr->pSchProbeRspTemplate);
qdf_mem_free(session_ptr->pSchBeaconFrameBegin);
@ -737,7 +736,9 @@ void pe_delete_session(tpAniSirGlobal mac_ctx, tpPESession session)
}
if (session->dph.dphHashTable.pDphNodeArray != NULL) {
qdf_mem_free(session->dph.dphHashTable.pDphNodeArray);
qdf_mem_zero(session->dph.dphHashTable.pDphNodeArray,
sizeof(struct sDphHashNode) *
(SIR_SAP_MAX_NUM_PEERS + 1));
session->dph.dphHashTable.pDphNodeArray = NULL;
}

View file

@ -53,7 +53,7 @@
/* session ID invalid */
#define CSR_SESSION_ID_INVALID 0xFF
/* No of sessions to be supported, and a session is for Infra, IBSS or BT-AMP */
#define CSR_ROAM_SESSION_MAX 5
#define CSR_ROAM_SESSION_MAX SIR_MAX_SUPPORTED_BSS
#define CSR_IS_SESSION_VALID(pMac, sessionId) \
(((sessionId) < CSR_ROAM_SESSION_MAX) && \
((pMac)->roam.roamSession[(sessionId)].sessionActive))

View file

@ -88,7 +88,7 @@
#else
#define WMA_MAX_SUPPORTED_STAS 12
#endif
#define WMA_MAX_SUPPORTED_BSS 5
#define WMA_MAX_SUPPORTED_BSS SIR_MAX_SUPPORTED_BSS
#define WMA_MAX_MGMT_MPDU_LEN 2000