From 73574ad2d8ba4aa40f68c3e3e153ab291241def0 Mon Sep 17 00:00:00 2001 From: Will Huang Date: Wed, 5 Aug 2020 14:21:44 +0800 Subject: [PATCH] qcacld-3.0: Define max number of keep alive pattern at one place Currently there are 2 places where max number of keep live pattern are defined: 1. #define WMA_MAXNUM_PERIODIC_TX_PTRNS 6 And it can be configured by CONFIG_CFG_MAX_PERIODIC_TX_PTRNS. 2. #define MAXNUM_PERIODIC_TX_PTRNS 6 And it is hard coded value. It is possible to have different values defined on some platform, so we might give tgt_cfg->num_keep_alive_pattern value as 2, but still allow more than 2 keep alive patterns adding to target, where assert might happen. Fix it by defining max number of keep alive pattern at one place. Change-Id: I70ec3fa2e56a39cf8086750d966d95e41b2b75a7 CRs-Fixed: 2745443 --- Kbuild | 2 +- core/mac/inc/sir_api.h | 2 ++ core/wma/inc/wma_internal.h | 7 ------- core/wma/src/wma_main.c | 2 +- 4 files changed, 4 insertions(+), 9 deletions(-) diff --git a/Kbuild b/Kbuild index bef3afd62747..b55c0d4d51c0 100644 --- a/Kbuild +++ b/Kbuild @@ -3411,7 +3411,7 @@ ccflags-y += -DCFG_TGT_DEFAULT_ROAM_OFFLOAD_MAX_VDEV=$(CONFIG_CFG_ROAM_OFFLOAD_M endif ifdef CONFIG_CFG_MAX_PERIODIC_TX_PTRNS -ccflags-y += -DWMA_MAXNUM_PERIODIC_TX_PTRNS=$(CONFIG_CFG_MAX_PERIODIC_TX_PTRNS) +ccflags-y += -DMAXNUM_PERIODIC_TX_PTRNS=$(CONFIG_CFG_MAX_PERIODIC_TX_PTRNS) endif ifdef CONFIG_CFG_MAX_STA_VDEVS diff --git a/core/mac/inc/sir_api.h b/core/mac/inc/sir_api.h index f09cbeee0208..ca52d2a66fcf 100644 --- a/core/mac/inc/sir_api.h +++ b/core/mac/inc/sir_api.h @@ -72,7 +72,9 @@ typedef uint8_t tSirVersionString[SIR_VERSION_STRING_LEN]; /* Periodic Tx pattern offload feature */ #define PERIODIC_TX_PTRN_MAX_SIZE 1536 +#ifndef MAXNUM_PERIODIC_TX_PTRNS #define MAXNUM_PERIODIC_TX_PTRNS 6 +#endif /* FW response timeout values in milli seconds */ #define SIR_PEER_ASSOC_TIMEOUT (4000) /* 4 seconds */ diff --git a/core/wma/inc/wma_internal.h b/core/wma/inc/wma_internal.h index f0601e9c18ce..114d826c82ea 100644 --- a/core/wma/inc/wma_internal.h +++ b/core/wma/inc/wma_internal.h @@ -46,13 +46,6 @@ #define WMA_LINK_MONITOR_DEFAULT_TIME_SECS 10 #define WMA_KEEP_ALIVE_DEFAULT_TIME_SECS 5 -/* The maximum number of patterns that can be transmitted by the firmware - * and maximum patterns size. - */ -#ifndef WMA_MAXNUM_PERIODIC_TX_PTRNS -#define WMA_MAXNUM_PERIODIC_TX_PTRNS 6 -#endif - #define WMA_WMM_EXPO_TO_VAL(val) ((1 << (val)) - 1) #define MAX_HT_MCS_IDX 8 diff --git a/core/wma/src/wma_main.c b/core/wma/src/wma_main.c index 83a640139103..374d648996ef 100644 --- a/core/wma/src/wma_main.c +++ b/core/wma/src/wma_main.c @@ -334,7 +334,7 @@ static void wma_set_default_tgt_config(tp_wma_handle wma_handle, tgt_cfg->num_multicast_filter_entries = CFG_TGT_MAX_MULTICAST_FILTER_ENTRIES; tgt_cfg->num_wow_filters = 0; - tgt_cfg->num_keep_alive_pattern = WMA_MAXNUM_PERIODIC_TX_PTRNS; + tgt_cfg->num_keep_alive_pattern = MAXNUM_PERIODIC_TX_PTRNS; tgt_cfg->num_max_sta_vdevs = CFG_TGT_DEFAULT_MAX_STA_VDEVS; tgt_cfg->keep_alive_pattern_size = 0; tgt_cfg->max_tdls_concurrent_sleep_sta =