summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHsiu-Chang Chen <hsiuchangchen@google.com>2022-12-20 10:31:40 +0530
committerHsiu-Chang Chen <hsiuchangchen@google.com>2023-04-29 14:45:10 +0000
commit214ce889db887cccb1a356a155bd8defb46eb131 (patch)
treea52e88aceff7270613603ddfc0476763bb607b23
parentc2a3190fca116ef1a37e16652966723a46e06694 (diff)
downloadcnss2-214ce889db887cccb1a356a155bd8defb46eb131.tar.gz
cnss2: Validate maximum number of memory segments
For WIN use case maximum number of memory segments requested by FW is increased to 52 in QMI layer. Since CNSS2 driver uses same QMI header files and message structures the same maximum number of segment is applicable for CNSS2. It means for memory allocation, FW can request 52 memory segments to CNSS2 via QMI indication but local CNSS2 variable which get segment info from indication supports maximum 32 segments. To fix it, change CNSS2 array variable size to same as number of maximum segment supported in QMI layer. Bug: 276750584 Test: Regression Test Change-Id: I661b55b53cb31327da12f064d0a516884159eb5b CRs-Fixed: 3355665 Signed-off-by: Hsiu-Chang Chen <hsiuchangchen@google.com> (cherry picked from commit 1a70f36dccb039707201036a009ae35da0a02956)
-rw-r--r--cnss2/main.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/cnss2/main.h b/cnss2/main.h
index 0125237..0d45829 100644
--- a/cnss2/main.h
+++ b/cnss2/main.h
@@ -51,7 +51,6 @@
#define MAX_NO_OF_MAC_ADDR 4
#define QMI_WLFW_MAX_TIMESTAMP_LEN 32
-#define QMI_WLFW_MAX_NUM_MEM_SEG 32
#define QMI_WLFW_MAX_BUILD_ID_LEN 128
#define CNSS_RDDM_TIMEOUT_MS 20000
#define RECOVERY_TIMEOUT 60000
@@ -487,7 +486,7 @@ struct cnss_plat_data {
char fw_build_id[QMI_WLFW_MAX_BUILD_ID_LEN + 1];
u32 otp_version;
u32 fw_mem_seg_len;
- struct cnss_fw_mem fw_mem[QMI_WLFW_MAX_NUM_MEM_SEG];
+ struct cnss_fw_mem fw_mem[QMI_WLFW_MAX_NUM_MEM_SEG_V01];
struct cnss_fw_mem m3_mem;
struct cnss_fw_mem *cal_mem;
u64 cal_time;
@@ -495,7 +494,7 @@ struct cnss_plat_data {
u32 cal_file_size;
struct completion daemon_connected;
u32 qdss_mem_seg_len;
- struct cnss_fw_mem qdss_mem[QMI_WLFW_MAX_NUM_MEM_SEG];
+ struct cnss_fw_mem qdss_mem[QMI_WLFW_MAX_NUM_MEM_SEG_V01];
u32 *qdss_reg;
struct cnss_pin_connect_result pin_result;
struct dentry *root_dentry;