mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-12 15:49:17 -04:00
Merge "qcacld-3.0: Statically allocate DPH hash table" into wlan-cld3.driver.lnx.2.0
This commit is contained in:
commit
f8238da07d
5 changed files with 24 additions and 18 deletions
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue