diff options
author | Hsiu-Chang Chen <hsiuchangchen@google.com> | 2022-12-20 10:31:40 +0530 |
---|---|---|
committer | Hsiu-Chang Chen <hsiuchangchen@google.com> | 2023-04-13 15:13:00 +0800 |
commit | 1a70f36dccb039707201036a009ae35da0a02956 (patch) | |
tree | a52e88aceff7270613603ddfc0476763bb607b23 | |
parent | adcf51862ac43461e22d23f0d5454514c0b6d013 (diff) | |
download | cnss2-1a70f36dccb039707201036a009ae35da0a02956.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>
-rw-r--r-- | cnss2/main.h | 5 |
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; |