From 206e4e3f6c83e204cbd0c34e4eb292512effff72 Mon Sep 17 00:00:00 2001 From: Git User Date: Wed, 20 Feb 2019 07:02:53 -0800 Subject: [PATCH 01/30] Initial empty repository -- GitLab From f637c1dbb8f40579c6fe84b32fc534cf1ec26027 Mon Sep 17 00:00:00 2001 From: Git User Date: Tue, 7 May 2019 01:59:23 -0700 Subject: [PATCH 02/30] Initial empty repository -- GitLab From 3bd3ae4fc70d70c2c6ad3aecb199f87c03ba24ce Mon Sep 17 00:00:00 2001 From: Git User Date: Fri, 24 May 2019 11:20:10 -0700 Subject: [PATCH 03/30] Initial empty repository -- GitLab From 4d07831eed5e2fa61912bfd0a4c4976882e5cb11 Mon Sep 17 00:00:00 2001 From: Park Ju Hyung Date: Sun, 24 Feb 2019 00:15:17 +0900 Subject: [PATCH 04/30] qcacld-3.0: Nuke Kconfig-based configuration entirely. * This method of building QCACLD isn't meant to be used and causes conflicts with the new OEM profile configuration. Configuration is now done with drivers/staging/qcacld-3.0/configs. Change-Id: I7e9f2ad34c360da587707fa4c2519c48a622af18 --- Kbuild | 2 +- Kconfig | 150 +++----------------------------------------------------- 2 files changed, 9 insertions(+), 143 deletions(-) diff --git a/Kbuild b/Kbuild index a2b8091f7624..88f67bd76623 100644 --- a/Kbuild +++ b/Kbuild @@ -51,7 +51,7 @@ include $(WLAN_CFG_OVERRIDE_FILE) $(warning "Overriding WLAN config with: $(shell cat $(WLAN_CFG_OVERRIDE_FILE))") endif -include $(WLAN_ROOT)/configs/$(CONFIG_QCA_CLD_WLAN_PROFILE)_defconfig +include $(WLAN_ROOT)/configs/$(patsubst "%",%,$(CONFIG_QCA_CLD_WLAN_PROFILE))_defconfig ############ UAPI ############ UAPI_DIR := uapi diff --git a/Kconfig b/Kconfig index 02ad2388209e..421fa320e961 100644 --- a/Kconfig +++ b/Kconfig @@ -1,154 +1,20 @@ comment "Qualcomm Atheros CLD WLAN module" config QCA_CLD_WLAN - tristate "Qualcomm Atheros CLD WLAN module" default n help - Add support for the Qualcomm Atheros CLD WLAN module + Add support for the Qualcomm Atheros CLD WLAN module if QCA_CLD_WLAN != n -config QCACLD_WLAN_LFR3 - bool "Enable the WLAN Legacy Fast Roaming feature Version 3" - default n - -config PRIMA_WLAN_OKC - bool "Enable the Prima WLAN Opportunistic Key Caching feature" - default n - -config WLAN_FEATURE_11W - bool "Enable the WLAN 802.11w Protected Management Frames feature" - default n - -config WLAN_FEATURE_LPSS - bool "Enable the WLAN LPSS feature" - default n - -config QCOM_VOWIFI_11R - bool "Enable Fast Transition (11r) feature" - default n - -config QCACLD_FEATURE_NAN - bool "Enable NAN feature" - default n - -config QCACLD_FEATURE_GREEN_AP - bool "Enable Green AP feature" - default n - -config HELIUMPLUS - bool "Enable Beeliner based descriptor structures for Helium" - default n - -config 64BIT_PADDR - bool "Enable 37-bit physical/bus addresses" - depends on HELIUMPLUS - default n - -config QCOM_TDLS - bool "Enable TDLS feature" - default n - -config QCOM_LTE_COEX - bool "Enable QCOM LTE Coex feature" - default n - -config MPC_UT_FRAMEWORK - bool "Enable Unit test framework for multiport concurrency" - default n - -config WLAN_OFFLOAD_PACKETS - bool "Enable offload packets feature" - default n - -config FEATURE_TSO - bool "Enable TCP Segmentation Offload" - depends on HELIUMPLUS - default n - -config FEATURE_TSO_DEBUG - bool "Enable TCP Segmentation Offload with debug" - depends on FEATURE_TSO - default n - -config WLAN_FASTPATH - bool "Enable fastpath for datapackets" - default n - -config WLAN_NAPI - bool "Enable NAPI - datapath rx" - default n - -config WLAN_NAPI_DEBUG - bool "Enable debug logging on NAPI" - depends on WLAN_NAPI - default n - -config WLAN_TX_FLOW_CONTROL_V2 - bool "Enable tx flow control version:2" - default n - -config WLAN_LRO - bool "Enable Large Receive Offload" - depends on HELIUMPLUS - depends on INET_LRO - default n - -config WLAN_SYNC_TSF - bool "Enable QCOM sync multi devices tsf feature" - default n - -config LFR_SUBNET_DETECTION - bool "Enable LFR Subnet Change Detection" - default n - -config MCC_TO_SCC_SWITCH - bool "Enable MCC to SCC Switch Logic" - default n - -config QCACLD_WLAN_LFR2 - bool "Enable the WLAN Legacy Fast Roaming feature Version 2" - default n - -config WLAN_FEATURE_DISA - bool "Enable DISA certification feature" - default n - -config WLAN_FEATURE_FIPS - bool "Enable FIPS certification feature" - default n - -config WLAN_FEATURE_11AX - bool "Enable 11AX(High Efficiency) feature" - default n - -config ICMP_DISABLE_PS - bool "Enable ICMP packet disable powersave feature" - default n - -config BUILD_TIMESTAMP - bool "Embed timestamp in wlan version" - default n - -config WLAN_FEATURE_FILS - bool "Enable FILS feature" - default n - -config NAN_CONVERGENCE - bool "Enable NAN_CONVERGENCE feature" - default n - -config WLAN_OBJMGR_DEBUG - bool "Enable WLAN Obj Mgr Debug services" - default n - -config WLAN_FEATURE_DFS_OFFLOAD - bool "Enable dfs offload feature" - default n +config QCA_CLD_WLAN_PROFILE + string "Configuration profile for Qualcomm Atheros CLD WLAN module" + default "default" + help + Specify which configuration profile to be used for building + this module. -config WLAN_FEATURE_SARV1_TO_SARV2 - bool "Enable conversion of SAR v1 to v2 feature" - default n + Profiles are located at drivers/staging/qcacld-3.0/configs. endif # QCA_CLD_WLAN -- GitLab From 372293cc9f2fe65428c3ebebcac276dceac72c96 Mon Sep 17 00:00:00 2001 From: Park Ju Hyung Date: Sun, 24 Feb 2019 01:35:10 +0900 Subject: [PATCH 05/30] qcacld-3.0: Always force user build. Change-Id: I8cf9709bc29fde1e41b06f0811f74684161e4cc1 --- Kbuild | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Kbuild b/Kbuild index 88f67bd76623..4e3cb5255910 100644 --- a/Kbuild +++ b/Kbuild @@ -5,6 +5,10 @@ ifeq ($(MODNAME),) else KERNEL_BUILD := n endif + +# Force user build +TARGET_BUILD_VARIANT := user + ifeq ($(KERNEL_BUILD), y) # These are provided in external module based builds # Need to explicitly define for Kernel-based builds -- GitLab From fd7e292e97f5f50fe771dcbfabe8062d1d91dec4 Mon Sep 17 00:00:00 2001 From: Park Ju Hyung Date: Sun, 7 Jun 2020 02:49:09 +0900 Subject: [PATCH 06/30] qcacld-3.0: Do not manually re-enable -Wmaybe-uninitialized. Change-Id: I4c76d941bdd27ef5d0967a1385e0107fbb99a91c --- Kbuild | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/Kbuild b/Kbuild index 4e3cb5255910..70441f7ab45f 100644 --- a/Kbuild +++ b/Kbuild @@ -3324,16 +3324,6 @@ cppflags-$(CONFIG_DUMP_REO_QUEUE_INFO_IN_DDR) += -DDUMP_REO_QUEUE_INFO_IN_DDR KBUILD_CPPFLAGS += $(cppflags-y) -# Currently, for versions of gcc which support it, the kernel Makefile -# is disabling the maybe-uninitialized warning. Re-enable it for the -# WLAN driver. Note that we must use ccflags-y here so that it -# will override the kernel settings. -ifeq ($(call cc-option-yn, -Wmaybe-uninitialized), y) -ccflags-y += -Wmaybe-uninitialized -ifneq (y,$(CONFIG_ARCH_MSM)) -ccflags-y += -Wframe-larger-than=4096 -endif -endif ccflags-y += -Wmissing-prototypes ifeq ($(call cc-option-yn, -Wheader-guard), y) -- GitLab From 4011706fd4d0c7bd184c78e32b60544878603c01 Mon Sep 17 00:00:00 2001 From: Park Ju Hyung Date: Sat, 10 Oct 2020 23:41:04 +0900 Subject: [PATCH 07/30] qcacld-3.0: Initialize variables to avoid errors during compilation. Change-Id: I666d6904db4d94904415155707d2894dd676fbde --- core/mac/src/pe/lim/lim_security_utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/mac/src/pe/lim/lim_security_utils.c b/core/mac/src/pe/lim/lim_security_utils.c index d1e0cbd65057..96c94d69d74f 100644 --- a/core/mac/src/pe/lim/lim_security_utils.c +++ b/core/mac/src/pe/lim/lim_security_utils.c @@ -510,7 +510,7 @@ lim_encrypt_auth_frame(struct mac_context *mac, uint8_t keyId, uint8_t *pKey, uint8_t *pPlainText, uint8_t *pEncrBody, uint32_t keyLength) { - uint8_t seed[LIM_SEED_LENGTH], icv[SIR_MAC_WEP_ICV_LENGTH]; + uint8_t seed[LIM_SEED_LENGTH] = { 0, }, icv[SIR_MAC_WEP_ICV_LENGTH]; uint16_t frame_len; frame_len = ((tpSirMacAuthFrameBody)pPlainText)->length + -- GitLab From 2628f61d6990a7f227945eebbad03734c3a18289 Mon Sep 17 00:00:00 2001 From: Danny Lin Date: Sun, 9 Aug 2020 22:20:08 -0700 Subject: [PATCH 08/30] qcacld-3.0: Fix regulatory domain country names. Clang warns: ../drivers/staging/qcacld-3.0/core/cds/src/cds_regdomain.c:284:43: warning: suspicious concatenation of string literals in an array initialization; did you mean to separate the elements with a comma? [-Wstring-concatenation] {CTRY_TURKS_AND_CAICOS, FCC3_WORLD, "TC" "TURKS AND CAICOS"}, ^ , ../drivers/staging/qcacld-3.0/core/cds/src/cds_regdomain.c:284:38: note: place parentheses around the string literal to silence warning {CTRY_TURKS_AND_CAICOS, FCC3_WORLD, "TC" "TURKS AND CAICOS"}, ^ ../drivers/staging/qcacld-3.0/core/cds/src/cds_regdomain.c:296:45: warning: suspicious concatenation of string literals in an array initialization; did you mean to separate the elements with a comma? [-Wstring-concatenation] {CTRY_WALLIS_AND_FUTUNA, ETSI1_WORLD, "WF" "WALLIS"}, ^ , ../drivers/staging/qcacld-3.0/core/cds/src/cds_regdomain.c:296:40: note: place parentheses around the string literal to silence warning {CTRY_WALLIS_AND_FUTUNA, ETSI1_WORLD, "WF" "WALLIS"}, ^ Change-Id: I35bc21e7946f03fc36fb912f46f742ec23cb8d99 --- core/cds/src/cds_regdomain.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/cds/src/cds_regdomain.c b/core/cds/src/cds_regdomain.c index 32818b055445..548a3976e653 100644 --- a/core/cds/src/cds_regdomain.c +++ b/core/cds/src/cds_regdomain.c @@ -281,7 +281,7 @@ static const struct country_code_to_reg_dmn g_all_countries[] = { {CTRY_TRINIDAD_Y_TOBAGO, FCC3_WORLD, "TT", "TRINIDAD AND TOBAGO"}, {CTRY_TUNISIA, ETSI3_WORLD, "TN", "TUNISIA"}, {CTRY_TURKEY, ETSI1_WORLD, "TR", "TURKEY"}, - {CTRY_TURKS_AND_CAICOS, FCC3_WORLD, "TC" "TURKS AND CAICOS"}, + {CTRY_TURKS_AND_CAICOS, FCC3_WORLD, "TC", "TURKS AND CAICOS"}, {CTRY_UGANDA, FCC3_WORLD, "UG", "UGANDA"}, {CTRY_UKRAINE, ETSI9_WORLD, "UA", "UKRAINE"}, {CTRY_UAE, FCC3_WORLD, "AE", "UNITED ARAB EMIRATES"}, @@ -293,7 +293,7 @@ static const struct country_code_to_reg_dmn g_all_countries[] = { {CTRY_VENEZUELA, FCC2_ETSIC, "VE", "VENEZUELA"}, {CTRY_VIET_NAM, FCC3_WORLD, "VN", "VIETNAM"}, {CTRY_VIRGIN_ISLANDS, FCC3_FCCA, "VI", "VIRGIN ISLANDS"}, - {CTRY_WALLIS_AND_FUTUNA, ETSI1_WORLD, "WF" "WALLIS"}, + {CTRY_WALLIS_AND_FUTUNA, ETSI1_WORLD, "WF", "WALLIS"}, {CTRY_YEMEN, NULL1_WORLD, "YE", "YEMEN"}, {CTRY_ZIMBABWE, ETSI1_WORLD, "ZW", "ZIMBABWE"}, {CTRY_JAPAN15, MKK5_MKKC, "JP", "JAPAN"}, -- GitLab From 2280f2a1c61301c0ae0f0ae2f3b2689d7c06759f Mon Sep 17 00:00:00 2001 From: Alexander Koskovich Date: Thu, 3 Dec 2020 19:33:08 -0700 Subject: [PATCH 09/30] qcacld-3.0: Only call hdd_debugfs_process_mib_stats if debugfs is enabled. Change-Id: I081bf59ec6ef593eedd5044aaa2e13a6a1a0f87d --- core/hdd/src/wlan_hdd_stats.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/hdd/src/wlan_hdd_stats.c b/core/hdd/src/wlan_hdd_stats.c index 189ec4ccb03c..57bd060d0e06 100644 --- a/core/hdd/src/wlan_hdd_stats.c +++ b/core/hdd/src/wlan_hdd_stats.c @@ -5602,7 +5602,9 @@ QDF_STATUS wlan_hdd_get_mib_stats(struct hdd_adapter *adapter) return ret; } +#ifdef WLAN_DEBUGFS hdd_debugfs_process_mib_stats(adapter, stats); +#endif wlan_cfg80211_mc_cp_stats_free_stats_event(stats); return ret; -- GitLab From 58a2d726b694f612af75e2dd8a712735028bc187 Mon Sep 17 00:00:00 2001 From: Park Ju Hyung Date: Sun, 24 Feb 2019 01:37:43 +0900 Subject: [PATCH 10/30] qcacld-3.0: Tone down debugging. Change-Id: I8a11d82dea71466394079bb927f506203576707c --- configs/default_defconfig | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/configs/default_defconfig b/configs/default_defconfig index c645e6b26313..bcbad7047978 100644 --- a/configs/default_defconfig +++ b/configs/default_defconfig @@ -104,7 +104,6 @@ ifeq ($(CONFIG_ICNSS), y) CONFIG_HELIUMPLUS := y CONFIG_64BIT_PADDR := y CONFIG_FEATURE_TSO := y - CONFIG_FEATURE_TSO_DEBUG := y ifeq ($(CONFIG_INET_LRO), y) CONFIG_WLAN_LRO := y else @@ -459,7 +458,6 @@ CONFIG_DP_MEM_PRE_ALLOC := y ifeq ($(CONFIG_FEATURE_TSO), y) CONFIG_FEATURE_TSO_STATS := y - CONFIG_TSO_DEBUG_LOG_ENABLE := y endif ifeq ($(CONFIG_DISABLE_DP_STATS), y) @@ -536,9 +534,6 @@ CONFIG_WLAN_LOG_FATAL := y CONFIG_WLAN_LOG_ERROR := y CONFIG_WLAN_LOG_WARN := y CONFIG_WLAN_LOG_INFO := y -CONFIG_WLAN_LOG_DEBUG := y -CONFIG_WLAN_LOG_ENTER := y -CONFIG_WLAN_LOG_EXIT := y #Enable OL debug and wmi unified functions CONFIG_ATH_PERF_PWR_OFFLOAD := y @@ -800,21 +795,12 @@ CONFIG_FEATURE_HTC_CREDIT_HISTORY := y #Flag to enable MTRACE feature CONFIG_TRACE_RECORD_FEATURE := y -#Flag to enable p2p debug feature -CONFIG_WLAN_FEATURE_P2P_DEBUG := y - -#Flag to enable roam debug log -CONFIG_FEATURE_ROAM_DEBUG := y - #Flag to enable DFS Master feature CONFIG_WLAN_DFS_MASTER_ENABLE := y #Flag to enable WEXT support for STA/AP/P2P interfaces CONFIG_WLAN_WEXT_SUPPORT_ENABLE := y -#Flag to enable/disable MTRACE feature -CONFIG_ENABLE_MTRACE_LOG := y - #Flag to enable nud tracking feature CONFIG_WLAN_NUD_TRACKING := y @@ -860,9 +846,6 @@ CONFIG_FEATURE_WLAN_WAPI := y CONFIG_AGEIE_ON_SCAN_RESULTS := y -#Flag to enable FW log parsing support feature -CONFIG_FEATURE_FW_LOG_PARSING := y - CONFIG_PTT_SOCK_SVC_ENABLE := y CONFIG_SOFTAP_CHANNEL_RANGE := y CONFIG_FEATURE_WLAN_SCAN_PNO := y @@ -966,9 +949,6 @@ endif CONFIG_DYNAMIC_RX_AGGREGATION := y -#Flag to enable hdd memory dump feature -CONFIG_FEATURE_MEMDUMP_ENABLE := y - #Flag to enable/disable WLAN D0-WOW ifeq ($(CONFIG_PCI_MSM), y) ifeq ($(CONFIG_HIF_PCI), y) -- GitLab From d167174572519057960d784bcfaa112f02bd4a86 Mon Sep 17 00:00:00 2001 From: Sebastiano Barezzi Date: Fri, 18 Nov 2022 18:44:59 +0100 Subject: [PATCH 11/30] qcacld-3.0: hdd: Fix build with !WLAN_POWER_DEBUG Change-Id: I8ddccc255eeee4ff4695f7e87e2b32b95e449e4c --- core/hdd/src/wlan_hdd_sysfs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/hdd/src/wlan_hdd_sysfs.c b/core/hdd/src/wlan_hdd_sysfs.c index 2e1c0739f084..2c0d4ea8da41 100644 --- a/core/hdd/src/wlan_hdd_sysfs.c +++ b/core/hdd/src/wlan_hdd_sysfs.c @@ -695,6 +695,7 @@ void hdd_sysfs_destroy_powerstats_interface(void) } sysfs_remove_file(driver_kobject, &power_stats_attribute.attr); } +#endif void hdd_sysfs_create_driver_root_obj(void) { @@ -724,7 +725,6 @@ void hdd_sysfs_destroy_driver_root_obj(void) driver_kobject = NULL; } } -#endif #ifdef WLAN_FEATURE_BEACON_RECEPTION_STATS static int hdd_sysfs_create_bcn_reception_interface(struct hdd_adapter -- GitLab From 8987fa642a1a51bbea5274f25fa671a1ea947424 Mon Sep 17 00:00:00 2001 From: Alexander Koskovich Date: Mon, 14 Dec 2020 07:09:46 -0700 Subject: [PATCH 12/30] qcacld-3.0: Disable build tagging. * Doesn't work as an inline kernel module. Change-Id: I10ffa5213db737267cf9d908442dd1dee0a26e53 --- configs/default_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/default_defconfig b/configs/default_defconfig index bcbad7047978..14cd8492a73e 100644 --- a/configs/default_defconfig +++ b/configs/default_defconfig @@ -113,7 +113,7 @@ endif ifneq ($(DEVELOPER_DISABLE_BUILD_TIMESTAMP), y) ifneq ($(WLAN_DISABLE_BUILD_TAG), y) -CONFIG_BUILD_TAG := y +CONFIG_BUILD_TAG := n endif endif -- GitLab From 3b84b7a31b5e299b9d7d43cd7042b7877d83a34b Mon Sep 17 00:00:00 2001 From: Park Ju Hyung Date: Mon, 21 Jan 2019 17:58:07 +0900 Subject: [PATCH 13/30] qcacld-3.0: Discard boot_wlan sysfs code on !CONFIG_MODULES. Change-Id: I2011ce3f84338e3823943211f08142bd06cff399 --- core/hdd/src/wlan_hdd_main.c | 174 ----------------------------------- 1 file changed, 174 deletions(-) diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index d3940fa351b6..eba9605d2c7e 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -232,32 +232,6 @@ static unsigned int dev_num = 1; static struct cdev wlan_hdd_state_cdev; static struct class *class; static dev_t device; -#ifndef MODULE -static struct gwlan_loader *wlan_loader; -static ssize_t wlan_boot_cb(struct kobject *kobj, - struct kobj_attribute *attr, - const char *buf, size_t count); -struct gwlan_loader { - bool loaded_state; - struct kobject *boot_wlan_obj; - struct attribute_group *attr_group; -}; - -static struct kobj_attribute wlan_boot_attribute = - __ATTR(boot_wlan, 0220, NULL, wlan_boot_cb); - -static struct attribute *attrs[] = { - &wlan_boot_attribute.attr, - NULL, -}; -#define MODULE_INITIALIZED 1 - -#ifdef MULTI_IF_NAME -#define WLAN_LOADER_NAME "boot_" MULTI_IF_NAME -#else -#define WLAN_LOADER_NAME "boot_wlan" -#endif -#endif /* the Android framework expects this param even though we don't use it */ #define BUF_LEN 20 @@ -16715,133 +16689,6 @@ static void hdd_driver_unload(void) hdd_qdf_deinit(); } -#ifndef MODULE -/** - * wlan_boot_cb() - Wlan boot callback - * @kobj: object whose directory we're creating the link in. - * @attr: attribute the user is interacting with - * @buff: the buffer containing the user data - * @count: number of bytes in the buffer - * - * This callback is invoked when the fs is ready to start the - * wlan driver initialization. - * - * Return: 'count' on success or a negative error code in case of failure - */ -static ssize_t wlan_boot_cb(struct kobject *kobj, - struct kobj_attribute *attr, - const char *buf, - size_t count) -{ - - if (wlan_loader->loaded_state) { - hdd_err("wlan driver already initialized"); - return -EALREADY; - } - - if (hdd_driver_load()) - return -EIO; - - wlan_loader->loaded_state = MODULE_INITIALIZED; - - return count; -} - -/** - * hdd_sysfs_cleanup() - cleanup sysfs - * - * Return: None - * - */ -static void hdd_sysfs_cleanup(void) -{ - /* remove from group */ - if (wlan_loader->boot_wlan_obj && wlan_loader->attr_group) - sysfs_remove_group(wlan_loader->boot_wlan_obj, - wlan_loader->attr_group); - - /* unlink the object from parent */ - kobject_del(wlan_loader->boot_wlan_obj); - - /* free the object */ - kobject_put(wlan_loader->boot_wlan_obj); - - kfree(wlan_loader->attr_group); - kfree(wlan_loader); - - wlan_loader = NULL; -} - -/** - * wlan_init_sysfs() - Creates the sysfs to be invoked when the fs is - * ready - * - * This is creates the syfs entry boot_wlan. Which shall be invoked - * when the filesystem is ready. - * - * QDF API cannot be used here since this function is called even before - * initializing WLAN driver. - * - * Return: 0 for success, errno on failure - */ -static int wlan_init_sysfs(void) -{ - int ret = -ENOMEM; - - wlan_loader = kzalloc(sizeof(*wlan_loader), GFP_KERNEL); - if (!wlan_loader) - return -ENOMEM; - - wlan_loader->boot_wlan_obj = NULL; - wlan_loader->attr_group = kzalloc(sizeof(*(wlan_loader->attr_group)), - GFP_KERNEL); - if (!wlan_loader->attr_group) - goto error_return; - - wlan_loader->loaded_state = 0; - wlan_loader->attr_group->attrs = attrs; - - wlan_loader->boot_wlan_obj = kobject_create_and_add(WLAN_LOADER_NAME, - kernel_kobj); - if (!wlan_loader->boot_wlan_obj) { - hdd_err("sysfs create and add failed"); - goto error_return; - } - - ret = sysfs_create_group(wlan_loader->boot_wlan_obj, - wlan_loader->attr_group); - if (ret) { - hdd_err("sysfs create group failed; errno:%d", ret); - goto error_return; - } - - return 0; - -error_return: - hdd_sysfs_cleanup(); - - return ret; -} - -/** - * wlan_deinit_sysfs() - Removes the sysfs created to initialize the wlan - * - * Return: 0 on success or errno on failure - */ -static int wlan_deinit_sysfs(void) -{ - if (!wlan_loader) { - hdd_err("wlan_loader is null"); - return -EINVAL; - } - - hdd_sysfs_cleanup(); - return 0; -} - -#endif /* MODULE */ - -#ifdef MODULE /** * hdd_module_init() - Module init helper * @@ -16856,21 +16703,7 @@ static int hdd_module_init(void) return 0; } -#else -static int __init hdd_module_init(void) -{ - int ret = -EINVAL; - - ret = wlan_init_sysfs(); - if (ret) - hdd_err("Failed to create sysfs entry"); - return ret; -} -#endif - - -#ifdef MODULE /** * hdd_module_exit() - Exit function * @@ -16882,13 +16715,6 @@ static void __exit hdd_module_exit(void) { hdd_driver_unload(); } -#else -static void __exit hdd_module_exit(void) -{ - hdd_driver_unload(); - wlan_deinit_sysfs(); -} -#endif static int fwpath_changed_handler(const char *kmessage, const struct kernel_param *kp) -- GitLab From 826a5758b61f6a210e828c85f02d3b79a4897970 Mon Sep 17 00:00:00 2001 From: Park Ju Hyung Date: Mon, 21 Jan 2019 20:18:37 +0900 Subject: [PATCH 14/30] qcacld-3.0: Defer HDD initialization. * ALso rely on userspace writing to /dev/wlan, Wi-Fi HAL writes "ON" or "OFF" to /dev/wlan. * Use this method to initialize hdd as it's a safer way to ensure both wlan_mac.bin and WCNSS_qcom_cfg.ini are ready to be read. * This also eliminates the needs for horrible hacks to read the userspace file. Change-Id: I648f1a107c095e50a64f44c39e78d6b6f917e190 --- core/hdd/src/wlan_hdd_main.c | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index eba9605d2c7e..ac73f0413e89 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -232,6 +232,7 @@ static unsigned int dev_num = 1; static struct cdev wlan_hdd_state_cdev; static struct class *class; static dev_t device; +static bool hdd_loaded = false; /* the Android framework expects this param even though we don't use it */ #define BUF_LEN 20 @@ -15647,6 +15648,7 @@ static void hdd_inform_wifi_on(void) } #endif +static int hdd_driver_load(void); static ssize_t wlan_hdd_state_ctrl_param_write(struct file *filp, const char __user *user_buf, size_t count, @@ -15681,6 +15683,13 @@ static ssize_t wlan_hdd_state_ctrl_param_write(struct file *filp, goto exit; } + if (!hdd_loaded) { + if (hdd_driver_load()) { + pr_err("%s: Failed to init hdd module\n", __func__); + goto exit; + } + } + if (!cds_is_driver_loaded() || cds_is_driver_recovering()) { rc = wait_for_completion_timeout(&wlan_start_comp, msecs_to_jiffies(HDD_WLAN_START_WAIT_TIME)); @@ -16540,16 +16549,10 @@ static int hdd_driver_load(void) hdd_set_conparam(con_mode); - errno = wlan_hdd_state_ctrl_param_create(); - if (errno) { - hdd_err("Failed to create ctrl param; errno:%d", errno); - goto wakelock_destroy; - } - errno = pld_init(); if (errno) { hdd_err("Failed to init PLD; errno:%d", errno); - goto param_destroy; + goto wakelock_destroy; } hdd_driver_mode_change_register(); @@ -16564,6 +16567,7 @@ static int hdd_driver_load(void) goto pld_deinit; } + hdd_loaded = true; hdd_debug("%s: driver loaded", WLAN_MODULE_NAME); return 0; @@ -16582,8 +16586,6 @@ static int hdd_driver_load(void) /* Wait for any ref taken on /dev/wlan to be released */ while (qdf_atomic_read(&wlan_hdd_state_fops_ref)) ; -param_destroy: - wlan_hdd_state_ctrl_param_destroy(); wakelock_destroy: qdf_wake_lock_destroy(&wlan_wake_lock); comp_deinit: @@ -16698,10 +16700,13 @@ static void hdd_driver_unload(void) */ static int hdd_module_init(void) { - if (hdd_driver_load()) - return -EINVAL; + int ret; - return 0; + ret = wlan_hdd_state_ctrl_param_create(); + if (ret) + pr_err("wlan_hdd_state_create:%x\n", ret); + + return ret; } /** -- GitLab From 9d75b51a846ace6952c2c39bff3cc3f8bdc105a6 Mon Sep 17 00:00:00 2001 From: Park Ju Hyung Date: Thu, 7 Mar 2019 11:11:33 +0900 Subject: [PATCH 15/30] qcacld-3.0: Nuke rx_wakelock code entirely. qcom_rx_wakelock is one of the major culprit to increased power consumption. Although its total wakelock time is quite low, it's catched very frequently and prevents the system from entering suspend repeatedly. Original intention of this wakelock is to prevent dropping unicast or local ARP packet, but I'm having a hard time understanding why are those packets critical to regular Android users. qcacld's packet filter will still allow notifications to flow in. Stop allowing this to be configurable on this kernel. Nuke this entirely to reduce resource usage. Change-Id: I8ae655b871e58dc1c9a880c831cc6a5e2d118594 --- core/hdd/inc/hdd_dp_cfg.h | 25 -------- core/hdd/inc/wlan_hdd_cfg.h | 1 - core/hdd/inc/wlan_hdd_main.h | 1 - core/hdd/src/wlan_hdd_main.c | 31 ---------- core/hdd/src/wlan_hdd_softap_tx_rx.c | 13 ----- core/hdd/src/wlan_hdd_tx_rx.c | 85 ---------------------------- 6 files changed, 156 deletions(-) diff --git a/core/hdd/inc/hdd_dp_cfg.h b/core/hdd/inc/hdd_dp_cfg.h index f65f35fce467..e55996114031 100644 --- a/core/hdd/inc/hdd_dp_cfg.h +++ b/core/hdd/inc/hdd_dp_cfg.h @@ -1101,30 +1101,6 @@ CFG_INI_BOOL("enable_multicast_replay_filter", \ true, "Enable filtering of replayed multicast packets") -/* - * - * rx_wakelock_timeout - Amount of time to hold wakelock for RX unicast packets - * @Min: 0 - * @Max: 100 - * @Default: 50 - * - * This ini item configures the amount of time, in milliseconds, that the driver - * should prevent system power collapse after receiving an RX unicast packet. - * A conigured value of 0 disables the RX Wakelock feature completely. - * - * Related: None. - * - * Supported Feature: RX Wakelock - * - * Usage: Internal/External - * - * - */ -#define CFG_DP_RX_WAKELOCK_TIMEOUT \ - CFG_INI_UINT("rx_wakelock_timeout", \ - 0, 100, 50, CFG_VALUE_OR_DEFAULT, \ - "Amount of time to hold wakelock for RX unicast packets") - /* * * num_dp_rx_threads - Control to set the number of dp rx threads @@ -1442,7 +1418,6 @@ CFG(CFG_DP_CE_SERVICE_MAX_YIELD_TIME) \ CFG(CFG_DP_ENABLE_TCP_PARAM_UPDATE) \ CFG(CFG_DP_FILTER_MULTICAST_REPLAY) \ - CFG(CFG_DP_RX_WAKELOCK_TIMEOUT) \ CFG(CFG_DP_NUM_DP_RX_THREADS) \ CFG(CFG_DP_HTC_WMI_CREDIT_CNT) \ CFG_DP_ENABLE_FASTPATH_ALL \ diff --git a/core/hdd/inc/wlan_hdd_cfg.h b/core/hdd/inc/wlan_hdd_cfg.h index 79edc72848ff..5647133e2b8b 100644 --- a/core/hdd/inc/wlan_hdd_cfg.h +++ b/core/hdd/inc/wlan_hdd_cfg.h @@ -199,7 +199,6 @@ struct hdd_config { uint32_t rx_thread_affinity_mask; uint8_t cpu_map_list[CFG_DP_RPS_RX_QUEUE_CPU_MAP_LIST_LEN]; bool multicast_replay_filter; - uint32_t rx_wakelock_timeout; uint8_t num_dp_rx_threads; #ifdef CONFIG_DP_TRACE bool enable_dp_trace; diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h index 5f247c185095..bda8772593a9 100644 --- a/core/hdd/inc/wlan_hdd_main.h +++ b/core/hdd/inc/wlan_hdd_main.h @@ -1877,7 +1877,6 @@ struct hdd_context { /** P2P Device MAC Address for the adapter */ struct qdf_mac_addr p2p_device_address; - qdf_wake_lock_t rx_wake_lock; qdf_wake_lock_t sap_wake_lock; /* Flag keeps track of wiphy suspend/resume */ diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c index ac73f0413e89..627ea453d326 100644 --- a/core/hdd/src/wlan_hdd_main.c +++ b/core/hdd/src/wlan_hdd_main.c @@ -8734,32 +8734,6 @@ static int hdd_init_netlink_services(struct hdd_context *hdd_ctx) return ret; } -/** - * hdd_rx_wake_lock_destroy() - Destroy RX wakelock - * @hdd_ctx: HDD context. - * - * Destroy RX wakelock. - * - * Return: None. - */ -static void hdd_rx_wake_lock_destroy(struct hdd_context *hdd_ctx) -{ - qdf_wake_lock_destroy(&hdd_ctx->rx_wake_lock); -} - -/** - * hdd_rx_wake_lock_create() - Create RX wakelock - * @hdd_ctx: HDD context. - * - * Create RX wakelock. - * - * Return: None. - */ -static void hdd_rx_wake_lock_create(struct hdd_context *hdd_ctx) -{ - qdf_wake_lock_create(&hdd_ctx->rx_wake_lock, "qcom_rx_wakelock"); -} - /** * hdd_context_deinit() - Deinitialize HDD context * @hdd_ctx: HDD context. @@ -8778,8 +8752,6 @@ static int hdd_context_deinit(struct hdd_context *hdd_ctx) hdd_sap_context_destroy(hdd_ctx); - hdd_rx_wake_lock_destroy(hdd_ctx); - hdd_scan_context_destroy(hdd_ctx); qdf_list_destroy(&hdd_ctx->hdd_adapters); @@ -11387,8 +11359,6 @@ static int hdd_context_init(struct hdd_context *hdd_ctx) if (ret) goto list_destroy; - hdd_rx_wake_lock_create(hdd_ctx); - ret = hdd_sap_context_init(hdd_ctx); if (ret) goto scan_destroy; @@ -11412,7 +11382,6 @@ static int hdd_context_init(struct hdd_context *hdd_ctx) scan_destroy: hdd_scan_context_destroy(hdd_ctx); - hdd_rx_wake_lock_destroy(hdd_ctx); list_destroy: qdf_list_destroy(&hdd_ctx->hdd_adapters); diff --git a/core/hdd/src/wlan_hdd_softap_tx_rx.c b/core/hdd/src/wlan_hdd_softap_tx_rx.c index 05aafb47ce3b..556eaf02c525 100644 --- a/core/hdd/src/wlan_hdd_softap_tx_rx.c +++ b/core/hdd/src/wlan_hdd_softap_tx_rx.c @@ -1125,19 +1125,6 @@ QDF_STATUS hdd_softap_rx_packet_cbk(void *adapter_context, qdf_nbuf_t rx_buf) skb->protocol = eth_type_trans(skb, skb->dev); - /* hold configurable wakelock for unicast traffic */ - if (!hdd_is_current_high_throughput(hdd_ctx) && - hdd_ctx->config->rx_wakelock_timeout && - skb->pkt_type != PACKET_BROADCAST && - skb->pkt_type != PACKET_MULTICAST) { - cds_host_diag_log_work(&hdd_ctx->rx_wake_lock, - hdd_ctx->config->rx_wakelock_timeout, - WIFI_POWER_EVENT_WAKELOCK_HOLD_RX); - qdf_wake_lock_timeout_acquire(&hdd_ctx->rx_wake_lock, - hdd_ctx->config-> - rx_wakelock_timeout); - } - /* Remove SKB from internal tracking table before submitting * it to stack */ diff --git a/core/hdd/src/wlan_hdd_tx_rx.c b/core/hdd/src/wlan_hdd_tx_rx.c index ba6fcf423c23..b73aec06bdc8 100644 --- a/core/hdd/src/wlan_hdd_tx_rx.c +++ b/core/hdd/src/wlan_hdd_tx_rx.c @@ -1483,73 +1483,6 @@ static bool hdd_is_mcast_replay(struct sk_buff *skb) return false; } -/** - * hdd_is_arp_local() - check if local or non local arp - * @skb: pointer to sk_buff - * - * Return: true if local arp or false otherwise. - */ -static bool hdd_is_arp_local(struct sk_buff *skb) -{ - struct arphdr *arp; - struct in_ifaddr **ifap = NULL; - struct in_ifaddr *ifa = NULL; - struct in_device *in_dev; - unsigned char *arp_ptr; - __be32 tip; - - arp = (struct arphdr *)skb->data; - if (arp->ar_op == htons(ARPOP_REQUEST)) { - /* if fail to acquire rtnl lock, assume it's local arp */ - if (!rtnl_trylock()) - return true; - - in_dev = __in_dev_get_rtnl(skb->dev); - if (in_dev) { - for (ifap = &in_dev->ifa_list; (ifa = *ifap) != NULL; - ifap = &ifa->ifa_next) { - if (!strcmp(skb->dev->name, ifa->ifa_label)) - break; - } - } - - if (ifa && ifa->ifa_local) { - arp_ptr = (unsigned char *)(arp + 1); - arp_ptr += (skb->dev->addr_len + 4 + - skb->dev->addr_len); - memcpy(&tip, arp_ptr, 4); - hdd_debug("ARP packet: local IP: %x dest IP: %x", - ifa->ifa_local, tip); - if (ifa->ifa_local == tip) { - rtnl_unlock(); - return true; - } - } - rtnl_unlock(); - } - - return false; -} - -/** - * hdd_is_rx_wake_lock_needed() - check if wake lock is needed - * @skb: pointer to sk_buff - * - * RX wake lock is needed for: - * 1) Unicast data packet OR - * 2) Local ARP data packet - * - * Return: true if wake lock is needed or false otherwise. - */ -static bool hdd_is_rx_wake_lock_needed(struct sk_buff *skb) -{ - if ((skb->pkt_type != PACKET_BROADCAST && - skb->pkt_type != PACKET_MULTICAST) || hdd_is_arp_local(skb)) - return true; - - return false; -} - #ifdef RECEIVE_OFFLOAD /** * hdd_resolve_rx_ol_mode() - Resolve Rx offload method, LRO or GRO @@ -2322,7 +2255,6 @@ QDF_STATUS hdd_rx_packet_cbk(void *adapter_context, struct hdd_station_ctx *sta_ctx = NULL; unsigned int cpu_index; struct qdf_mac_addr *mac_addr, *dest_mac_addr; - bool wake_lock = false; uint8_t pkt_type = 0; bool track_arp = false; struct wlan_objmgr_vdev *vdev; @@ -2432,21 +2364,6 @@ QDF_STATUS hdd_rx_packet_cbk(void *adapter_context, continue; } - /* hold configurable wakelock for unicast traffic */ - if (!hdd_is_current_high_throughput(hdd_ctx) && - hdd_ctx->config->rx_wakelock_timeout && - sta_ctx->conn_info.is_authenticated) - wake_lock = hdd_is_rx_wake_lock_needed(skb); - - if (wake_lock) { - cds_host_diag_log_work(&hdd_ctx->rx_wake_lock, - hdd_ctx->config->rx_wakelock_timeout, - WIFI_POWER_EVENT_WAKELOCK_HOLD_RX); - qdf_wake_lock_timeout_acquire(&hdd_ctx->rx_wake_lock, - hdd_ctx->config-> - rx_wakelock_timeout); - } - /* Remove SKB from internal tracking table before submitting * it to stack */ @@ -3523,8 +3440,6 @@ void hdd_dp_cfg_update(struct wlan_objmgr_psoc *psoc, hdd_set_rx_mode_value(hdd_ctx); config->multicast_replay_filter = cfg_get(psoc, CFG_DP_FILTER_MULTICAST_REPLAY); - config->rx_wakelock_timeout = - cfg_get(psoc, CFG_DP_RX_WAKELOCK_TIMEOUT); config->num_dp_rx_threads = cfg_get(psoc, CFG_DP_NUM_DP_RX_THREADS); config->cfg_wmi_credit_cnt = cfg_get(psoc, CFG_DP_HTC_WMI_CREDIT_CNT); hdd_dp_dp_trace_cfg_update(config, psoc); -- GitLab From b828e422e133c2ae842ee46be76d26874c63904c Mon Sep 17 00:00:00 2001 From: LibXZR Date: Fri, 11 Sep 2020 10:06:51 +0800 Subject: [PATCH 16/30] qcacld-3.0: qca6390_defconfig: Enable multi-page allocation. * Seems to fix this: [16869.004959] kworker/u16:14: page allocation failure: order:5, mode:0x60c0c0(GFP_KERNEL|__GFP_COMP|__GFP_ZERO), nodemask=(null) [16869.004965] kworker/u16:14 cpuset=/ mems_allowed=0 [16869.004996] CPU: 2 PID: 5169 Comm: kworker/u16:14 Tainted: G S W 4.19.143-Horizon-09091816 #8 [16869.005001] Hardware name: Qualcomm Technologies, Inc. kona MTP dvt 19821 19855 14 15 (DT) [16869.005032] Workqueue: cnss_driver_event cnss_driver_event_work [16869.005039] Call trace: [16869.005059] dump_backtrace+0x0/0x230 [16869.005068] show_stack+0x14/0x20 [16869.005080] dump_stack+0xd4/0x10c [16869.005090] warn_alloc+0xf8/0x170 [16869.005096] __alloc_pages_nodemask+0xe38/0xe80 [16869.005110] kmalloc_order+0x1c/0x40 [16869.005120] __kmalloc+0x200/0x240 [16869.005129] qdf_mem_malloc_fl+0xa0/0xe0 [16869.005141] dp_rx_desc_pool_alloc+0x3c/0x1b0 [16869.005148] dp_rx_pdev_attach+0xcc/0x6e0 [16869.005157] dp_pdev_attach_wifi3+0x1680/0x1f60 [16869.005165] cds_dp_open+0x70/0x270 [16869.005173] hdd_wlan_start_modules+0x364/0x790 [16869.005181] hdd_psoc_idle_restart+0x5c/0x80 [16869.005192] wlan_hdd_pld_idle_restart+0xc/0x20 [16869.005213] pld_pcie_idle_restart_cb+0x2c/0x50 [16869.005221] cnss_pci_call_driver_probe+0x100/0x220 [16869.005228] cnss_bus_call_driver_probe+0x1c/0x50 [16869.005235] cnss_driver_event_work+0x35c/0xab0 [16869.005246] process_one_work+0x1d8/0x4f0 [16869.005252] worker_thread+0x25c/0x4a0 [16869.005260] kthread+0x138/0x150 [16869.005267] ret_from_fork+0x10/0x1c [16869.005272] Mem-Info: [16869.005298] active_anon:441521 inactive_anon:143127 isolated_anon:0\x0a active_file:85161 inactive_file:119041 isolated_file:0\x0a unevictable:25386 dirty:151 writeback:0 unstable:0\x0a slab_reclaimable:27201 slab_unreclaimable:80688\x0a mapped:172369 shmem:8658 pagetables:29154 bounce:0\x0a free:614801 free_pcp:63 free_cma:16669 [16869.005311] Node 0 active_anon:1766084kB inactive_anon:572508kB active_file:340644kB inactive_file:476164kB unevictable:101544kB isolated(anon):0kB isolated(file):0kB mapped:689476kB dirty:604kB writeback:0kB shmem:34632kB writeback_tmp:0kB unstable:0kB all_unreclaimable? no [16869.005331] Normal free:380716kB min:32212kB low:119352kB high:146992kB active_anon:1749452kB inactive_anon:571196kB active_file:340644kB inactive_file:476164kB unevictable:101544kB writepending:604kB present:5947664kB managed:5758744kB mlocked:101544kB kernel_stack:69008kB pagetables:116616kB bounce:0kB free_pcp:252kB local_pcp:4kB free_cma:66676kB [16869.005334] lowmem_reserve[]: 0 16384 [16869.005353] Movable free:2078488kB min:8744kB low:40476kB high:50540kB active_anon:16632kB inactive_anon:1312kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:0kB present:2097152kB managed:2097152kB mlocked:0kB kernel_stack:0kB pagetables:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB [16869.005356] lowmem_reserve[]: 0 0 [16869.005363] Normal: 10598*4kB (UMECH) 9995*8kB (UMECH) 8375*16kB (UMECH) 3214*32kB (UMECH) 56*64kB (UCH) 134*128kB (CH) 7*256kB (CH) 0*512kB 0*1024kB 0*2048kB 0*4096kB = 381728kB [16869.005405] Movable: 139*4kB (M) 64*8kB (M) 39*16kB (M) 27*32kB (M) 22*64kB (M) 12*128kB (M) 12*256kB (M) 10*512kB (M) 1*1024kB (M) 0*2048kB 504*4096kB (M) = 2079100kB [16869.005448] 241814 total pagecache pages [16869.005456] 4622 pages in swap cache [16869.005462] Swap cache stats: add 992884, delete 988440, find 75512/580082 [16869.005466] Free swap = 1634836kB [16869.005469] Total swap = 2150396kB [16869.005476] 2011204 pages RAM [16869.005479] 0 pages HighMem/MovableOnly [16869.005482] 47230 pages reserved [16869.005486] 89088 pages cma reserved [16869.005498] cma: cma-0 pages: => 9850 used of 10240 total pages [16869.005507] cma: cma-1 pages: => 472 used of 8192 total pages [16869.005516] cma: cma-2 pages: => 907 used of 5120 total pages [16869.005541] cma: cma-3 pages: => 0 used of 41984 total pages [16869.005549] cma: cma-4 pages: => 3682 used of 5120 total pages [16869.005556] cma: cma-5 pages: => 512 used of 3072 total pages [16869.005565] cma: cma-6 pages: => 0 used of 4096 total pages [16869.005571] cma: cma-7 pages: => 0 used of 4096 total pages [16869.005576] cma: cma-8 pages: => 768 used of 1024 total pages [16869.005685] cma: cma-9 pages: => 0 used of 4096 total pages [16869.005692] cma: cma-10 pages: => 0 used of 2048 total pages [16869.005711] [kworke][0xddaa47972c][08:04:55.672017] wlan: [5169:F:DP] dp_rx_desc_pool_alloc: RX Desc Pool[0] allocation failed [16869.005729] [kworke][0xddaa479899][08:04:55.672035] wlan: [5169:E:DP] dp_pdev_attach_wifi3: 3674: dp_rx_pdev_attach failed [16869.005818] [kworke][0xddaa479f48][08:04:55.672125] wlan: [5169:E:DP] dp_srng_cleanup: 1438: Ring type: 15, num:0 not setup [16869.005850] [kworke][0xddaa47a1b1][08:04:55.672157] wlan: [5169:E:DP] dp_srng_cleanup: 1438: Ring type: 15, num:0 not setup [16869.005866] [kworke][0xddaa47a2ef][08:04:55.672173] wlan: [5169:I:DP] dp_tx_soc_detach Tx Desc Pool Free num_pool = 4, descs = 1024 [16869.006726] [kworke][0xddaa47e350][08:04:55.673032] wlan: [5169:I:DP] dp_tx_soc_detach MSDU Ext Desc Pool 4 Free descs = 1024 Change-Id: I97acdc9bc1a5bd85273e72f1ff0da0fba389fd67 --- configs/qca6390_defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/configs/qca6390_defconfig b/configs/qca6390_defconfig index 15bbe73a0d8a..775cde42e73e 100644 --- a/configs/qca6390_defconfig +++ b/configs/qca6390_defconfig @@ -673,6 +673,7 @@ CONFIG_FEATURE_SAR_LIMITS := y CONFIG_FEATURE_CONCURRENCY_MATRIX := y CONFIG_FEATURE_SAP_COND_CHAN_SWITCH := y CONFIG_FEATURE_P2P_LISTEN_OFFLOAD := y +CONFIG_QCACLD_RX_DESC_MULTI_PAGE_ALLOC := y #Flags to enable/disable WMI APIs CONFIG_WMI_ROAM_SUPPORT := y -- GitLab From 7b60474563afce90871614b955fcdc593403f7ac Mon Sep 17 00:00:00 2001 From: LibXZR Date: Sat, 3 Oct 2020 19:02:08 +0800 Subject: [PATCH 17/30] qcacld-3.0: qca6390_defconfig: Enable desc debug check. * Fix building. Change-Id: If6f8a87fc0f507d9637e0d3198c0ea18e26c6db9 --- configs/qca6390_defconfig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configs/qca6390_defconfig b/configs/qca6390_defconfig index 775cde42e73e..b18708ebb149 100644 --- a/configs/qca6390_defconfig +++ b/configs/qca6390_defconfig @@ -791,3 +791,6 @@ CONFIG_SAP_DHCP_FW_IND := y #Enable FW Offload CONFIG_WLAN_FW_OFFLOAD := y +#Enable Desc Debug Check +CONFIG_RX_DESC_DEBUG_CHECK := y + -- GitLab From a4d6c1289c1d6e16f1dc890d150a4584f2ec7268 Mon Sep 17 00:00:00 2001 From: LibXZR Date: Fri, 2 Oct 2020 18:16:09 +0800 Subject: [PATCH 18/30] qcacld-3.0: qca6390_defconfig: Enable power debug. * Fixes build error. Change-Id: I570c5013f9ae9f3182e4d6220fb39db6da90d71d --- configs/qca6390_defconfig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configs/qca6390_defconfig b/configs/qca6390_defconfig index b18708ebb149..6b3cd3b090e9 100644 --- a/configs/qca6390_defconfig +++ b/configs/qca6390_defconfig @@ -794,3 +794,6 @@ CONFIG_WLAN_FW_OFFLOAD := y #Enable Desc Debug Check CONFIG_RX_DESC_DEBUG_CHECK := y +#Enable Power Debug +CONFIG_WLAN_POWER_DEBUG := y + -- GitLab From bd25be98395f73eaa8320d740ad19ec9aee31cc1 Mon Sep 17 00:00:00 2001 From: Park Ju Hyung Date: Sun, 24 Feb 2019 01:37:43 +0900 Subject: [PATCH 19/30] qcacld-3.0: qca6390_defconfig: Tone down debugging. Change-Id: I8a11d82dea71466394079bb927f506203576707c --- configs/qca6390_defconfig | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/configs/qca6390_defconfig b/configs/qca6390_defconfig index 6b3cd3b090e9..f1fe233d9344 100644 --- a/configs/qca6390_defconfig +++ b/configs/qca6390_defconfig @@ -59,7 +59,6 @@ ifeq ($(CONFIG_ICNSS), y) CONFIG_HELIUMPLUS := y CONFIG_64BIT_PADDR := y CONFIG_FEATURE_TSO := y - CONFIG_FEATURE_TSO_DEBUG := y ifeq ($(CONFIG_INET_LRO), y) CONFIG_WLAN_LRO := y else @@ -338,7 +337,6 @@ CONFIG_DP_INTR_POLL_BASED := y CONFIG_TX_PER_PDEV_DESC_POOL := y CONFIG_DP_TRACE := y CONFIG_FEATURE_TSO := y -CONFIG_TSO_DEBUG_LOG_ENABLE := y CONFIG_DP_LFR := y CONFIG_HTT_PADDR64 := y CONFIG_RX_OL := y @@ -403,9 +401,6 @@ CONFIG_WLAN_LOG_FATAL := y CONFIG_WLAN_LOG_ERROR := y CONFIG_WLAN_LOG_WARN := y CONFIG_WLAN_LOG_INFO := y -CONFIG_WLAN_LOG_DEBUG := y -CONFIG_WLAN_LOG_ENTER := y -CONFIG_WLAN_LOG_EXIT := y #Enable OL debug and wmi unified functions CONFIG_ATH_PERF_PWR_OFFLOAD := y @@ -586,21 +581,12 @@ CONFIG_FEATURE_HTC_CREDIT_HISTORY := y #Flag to enable MTRACE feature CONFIG_TRACE_RECORD_FEATURE := y -#Flag to enable p2p debug feature -CONFIG_WLAN_FEATURE_P2P_DEBUG := y - -#Flag to enable roam debug log -CONFIG_FEATURE_ROAM_DEBUG := y - #Flag to enable DFS Master feature CONFIG_WLAN_DFS_MASTER_ENABLE := y #Flag to enable WEXT support for STA/AP/P2P interfaces CONFIG_WLAN_WEXT_SUPPORT_ENABLE := y -#Flag to enable/disable MTRACE feature -CONFIG_ENABLE_MTRACE_LOG := y - #Flag to enable nud tracking feature CONFIG_WLAN_NUD_TRACKING := y @@ -624,9 +610,6 @@ CONFIG_FEATURE_WLAN_WAPI := y CONFIG_AGEIE_ON_SCAN_RESULTS := y -#Flag to enable FW log parsing support feature -CONFIG_FEATURE_FW_LOG_PARSING := y - CONFIG_PTT_SOCK_SVC_ENABLE := y CONFIG_SOFTAP_CHANNEL_RANGE := y CONFIG_FEATURE_WLAN_SCAN_PNO := y @@ -714,9 +697,6 @@ ifeq ($(CONFIG_LITHIUM), y) CONFIG_FEATURE_UNIT_TEST_SUSPEND := y endif -#Flag to enable hdd memory dump feature -CONFIG_FEATURE_MEMDUMP_ENABLE := y - #Flag to enable/disable WLAN D0-WOW ifeq ($(CONFIG_PCI_MSM), y) ifeq ($(CONFIG_HIF_PCI), y) -- GitLab From 4995e59a0d08075e31a35ca6d6e002a9055324c0 Mon Sep 17 00:00:00 2001 From: Alexander Koskovich Date: Mon, 14 Dec 2020 07:09:46 -0700 Subject: [PATCH 20/30] qcacld-3.0: qca6390_defconfig: Disable build tagging. * Doesn't work as an inline kernel module. Change-Id: I10ffa5213db737267cf9d908442dd1dee0a26e53 --- configs/qca6390_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/qca6390_defconfig b/configs/qca6390_defconfig index f1fe233d9344..e11bdab1f233 100644 --- a/configs/qca6390_defconfig +++ b/configs/qca6390_defconfig @@ -68,7 +68,7 @@ endif ifneq ($(DEVELOPER_DISABLE_BUILD_TIMESTAMP), y) ifneq ($(WLAN_DISABLE_BUILD_TAG), y) -CONFIG_BUILD_TAG := y +CONFIG_BUILD_TAG := n endif endif -- GitLab From 3a81217a02cb3332900cf8dced88cf9e3b980140 Mon Sep 17 00:00:00 2001 From: Yu Ouyang Date: Wed, 25 Aug 2021 14:14:42 +0800 Subject: [PATCH 21/30] qcacld-3.0: Add time slice duty cycle in wifi_interface_info Android S VTS test case GetLinkLayerStats_1_5 need get interface time slice duty cycle info. VTS will get it over vendor command QCA_NL80211_VENDOR_SUBCMD_LL_STATS_GET. So, we need put time slice duty cycle percentage in structure wifi_interface_info. Change-Id: Iff644b4b1ed6dd34badc2008d2957c98e0207aa6 CRs-Fixed: 3040005 --- core/hdd/src/wlan_hdd_stats.c | 5 ++++- core/mac/inc/sir_api.h | 1 + core/wma/src/wma_utils.c | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/core/hdd/src/wlan_hdd_stats.c b/core/hdd/src/wlan_hdd_stats.c index 57bd060d0e06..bd1da1268a1a 100644 --- a/core/hdd/src/wlan_hdd_stats.c +++ b/core/hdd/src/wlan_hdd_stats.c @@ -438,7 +438,10 @@ static bool put_wifi_interface_info(struct wifi_interface_info *stats, CFG_COUNTRY_CODE_LEN, stats->apCountryStr) || nla_put(vendor_event, QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_COUNTRY_STR, - CFG_COUNTRY_CODE_LEN, stats->countryStr)) { + CFG_COUNTRY_CODE_LEN, stats->countryStr) || + nla_put_u32(vendor_event, + QCA_WLAN_VENDOR_ATTR_LL_STATS_IFACE_INFO_TS_DUTY_CYCLE, + stats->time_slice_duty_cycle)) { hdd_err("QCA_WLAN_VENDOR_ATTR put fail"); return false; } diff --git a/core/mac/inc/sir_api.h b/core/mac/inc/sir_api.h index e9c073c61ea3..bd90e119ce3f 100644 --- a/core/mac/inc/sir_api.h +++ b/core/mac/inc/sir_api.h @@ -3574,6 +3574,7 @@ struct wifi_interface_info { uint8_t apCountryStr[CFG_COUNTRY_CODE_LEN]; /* country string for this association */ uint8_t countryStr[CFG_COUNTRY_CODE_LEN]; + uint8_t time_slice_duty_cycle; }; /** diff --git a/core/wma/src/wma_utils.c b/core/wma/src/wma_utils.c index 61fd15bcb4e9..67ed97826361 100644 --- a/core/wma/src/wma_utils.c +++ b/core/wma/src/wma_utils.c @@ -2618,6 +2618,8 @@ int wma_unified_link_iface_stats_event_handler(void *handle, /* Copy roaming state */ iface_stat->info.roaming = link_stats->roam_state; + /* Copy time slicing duty cycle */ + iface_stat->info.time_slice_duty_cycle = 100; iface_ac_stats = &iface_stat->ac_stats[0]; for (count = 0; count < link_stats->num_ac; count++) { -- GitLab From d8d5d338a4e3d3e60afec86bc35620cfff4cc18a Mon Sep 17 00:00:00 2001 From: Nagalakshmi Date: Tue, 29 Nov 2022 22:48:35 -0800 Subject: [PATCH 22/30] qcacld-3.0: Fix OOB in wma_scan_roam.c Currently in wma_extscan_hotlist_match_event_handler API, dest_hotlist get memory allocation based on numap which takes value from event->total_entries. But numap is limited to WMA_EXTSCAN_MAX_HOTLIST_ENTRIES and event->total_entries more than WMA_EXTSCAN_MAX_HOTLIST_ENTRIES can cause out of bound issue. Fix is to populate dest_hotlist->numOfAps from numap instead of event->total_entries to avoid any out of bound issue. Change-Id: I756f7e4a4dcd454508bba83d4a8bbbb139530905 CRs-Fixed: 3346781 --- core/wma/src/wma_scan_roam.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/wma/src/wma_scan_roam.c b/core/wma/src/wma_scan_roam.c index 32b57d9c4e50..dd596c4e7e4a 100644 --- a/core/wma/src/wma_scan_roam.c +++ b/core/wma/src/wma_scan_roam.c @@ -4965,7 +4965,7 @@ int wma_extscan_hotlist_match_event_handler(void *handle, return -ENOMEM; dest_ap = &dest_hotlist->ap[0]; - dest_hotlist->numOfAps = event->total_entries; + dest_hotlist->numOfAps = numap; dest_hotlist->requestId = event->config_request_id; if (event->first_entry_index + -- GitLab From f6c9e3c487570d06276797616a235308936182d6 Mon Sep 17 00:00:00 2001 From: Aravind Kishore Sukla Date: Wed, 8 Feb 2023 14:45:03 +0530 Subject: [PATCH 23/30] BACKPORT: qcacld-3.0: Ignore CSA request for invalid channel In present scenario, STA disconnects with AP if it receives invalid channel in CSA IE. In this case STA shouldn't disconnect with AP as this request may come from a spoof AP. Ignore this CSA request as it might be from spoof AP and if it is from genuine AP heart beat failure happens and results in disconnection. After disconnection DUT may reconnect to same or other APs. Change-Id: I840508dd27d8c313a3e8f74c4e1f5aa64eecf6f9 CRs-Fixed: 3390251 --- core/mac/src/pe/lim/lim_utils.c | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/core/mac/src/pe/lim/lim_utils.c b/core/mac/src/pe/lim/lim_utils.c index 25b5c858e588..f4ad67174fdd 100644 --- a/core/mac/src/pe/lim/lim_utils.c +++ b/core/mac/src/pe/lim/lim_utils.c @@ -1934,22 +1934,16 @@ static void __lim_process_channel_switch_timeout(struct pe_session *pe_session) } /* - * If the channel-list that AP is asking us to switch is invalid - * then we cannot switch the channel. Just disassociate from AP. - * We will find a better AP !!! + * The channel switch request received from AP is carrying + * invalid channel. It's ok to ignore this channel switch + * request as it might be from spoof AP. If it's from genuine + * AP, it may lead to heart beat failure and result in + * disconnection. DUT can go ahead and reconnect to it/any + * other AP once it disconnects. */ - if ((pe_session->limMlmState == - eLIM_MLM_LINK_ESTABLISHED_STATE) && - (pe_session->limSmeState != eLIM_SME_WT_DISASSOC_STATE) && - (pe_session->limSmeState != eLIM_SME_WT_DEAUTH_STATE)) { - pe_err("Invalid channel! Disconnect"); - lim_tear_down_link_with_ap(mac, - mac->lim.lim_timers. - gLimChannelSwitchTimer.sessionId, - eSIR_MAC_UNSUPPORTED_CHANNEL_CSA, - eLIM_LINK_MONITORING_DISASSOC); - return; - } + pe_err("Invalid channel freq %u Ignore CSA request", + channel_freq); + return; } switch (pe_session->gLimChannelSwitch.state) { case eLIM_CHANNEL_SWITCH_PRIMARY_ONLY: -- GitLab From d394991d8b1e36081e8f231f451d8619fba8a5ec Mon Sep 17 00:00:00 2001 From: jianil Date: Mon, 19 Dec 2022 10:58:35 -0800 Subject: [PATCH 24/30] qcacld-3.0: Fix compile error of mdie Fix compile error of mdie[SIR_MDIE_SIZE], use mdie[] instead. Change-Id: I934d3f02a19b511583141deeca7af5b4d4c0ef30 CRs-Fixed: 3364146 --- core/mac/src/sys/legacy/src/utils/src/parser_api.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/mac/src/sys/legacy/src/utils/src/parser_api.c b/core/mac/src/sys/legacy/src/utils/src/parser_api.c index 0a78d2b7bc2f..ded1da91f41f 100644 --- a/core/mac/src/sys/legacy/src/utils/src/parser_api.c +++ b/core/mac/src/sys/legacy/src/utils/src/parser_api.c @@ -5911,7 +5911,7 @@ QDF_STATUS populate_dot11f_rrm_ie(struct mac_context *mac, void populate_mdie(struct mac_context *mac, tDot11fIEMobilityDomain *pDot11f, - uint8_t mdie[SIR_MDIE_SIZE]) + uint8_t mdie[]) { pDot11f->present = 1; pDot11f->MDID = (uint16_t) ((mdie[1] << 8) | (mdie[0])); -- GitLab From b2871f76afe40d3428f8ffea86e8a86823502bc7 Mon Sep 17 00:00:00 2001 From: dianlujitao Date: Sun, 8 Oct 2023 21:12:49 +0800 Subject: [PATCH 25/30] fixup! qcacld-3.0: Use freq hint in scan for ssid Change-Id: I87d3838bc6adbf0b69db652fa0820e6f7f732ea5 --- core/hdd/src/wlan_hdd_cfg80211.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/hdd/src/wlan_hdd_cfg80211.c b/core/hdd/src/wlan_hdd_cfg80211.c index 759953562b33..94d24ddb25ef 100644 --- a/core/hdd/src/wlan_hdd_cfg80211.c +++ b/core/hdd/src/wlan_hdd_cfg80211.c @@ -20476,7 +20476,8 @@ static int __wlan_hdd_cfg80211_join_ibss(struct wiphy *wiphy, params->ssid_len, bssid.bytes, NULL, conn_info_channel, - params->chandef.width); + params->chandef.width, + 0); if (0 > status) { hdd_err("connect failed"); -- GitLab From 38f2cd19aa4ad36c769fe04b3c11404b5fa45a94 Mon Sep 17 00:00:00 2001 From: dianlujitao Date: Wed, 20 Dec 2023 20:34:39 +0800 Subject: [PATCH 26/30] Revert "qcacld-3.0: qca6390_defconfig: Enable power debug." Builds fine without it. This reverts commit a4d6c1289c1d6e16f1dc890d150a4584f2ec7268. Change-Id: I098213c73ac0afdd3c479b3872eeffd050d1b259 --- configs/qca6390_defconfig | 3 --- 1 file changed, 3 deletions(-) diff --git a/configs/qca6390_defconfig b/configs/qca6390_defconfig index e11bdab1f233..9d2f417dcdda 100644 --- a/configs/qca6390_defconfig +++ b/configs/qca6390_defconfig @@ -774,6 +774,3 @@ CONFIG_WLAN_FW_OFFLOAD := y #Enable Desc Debug Check CONFIG_RX_DESC_DEBUG_CHECK := y -#Enable Power Debug -CONFIG_WLAN_POWER_DEBUG := y - -- GitLab From 266cb16d1a5bf2756e70db023ed53cb420cf485e Mon Sep 17 00:00:00 2001 From: dianlujitao Date: Wed, 20 Dec 2023 20:35:00 +0800 Subject: [PATCH 27/30] Revert "qcacld-3.0: qca6390_defconfig: Enable desc debug check." Builds fine without it. This reverts commit 7b60474563afce90871614b955fcdc593403f7ac. Change-Id: I99695a47459f41737f5ed021bb4d7ae47a851435 --- configs/qca6390_defconfig | 3 --- 1 file changed, 3 deletions(-) diff --git a/configs/qca6390_defconfig b/configs/qca6390_defconfig index 9d2f417dcdda..b3493ed65b10 100644 --- a/configs/qca6390_defconfig +++ b/configs/qca6390_defconfig @@ -771,6 +771,3 @@ CONFIG_SAP_DHCP_FW_IND := y #Enable FW Offload CONFIG_WLAN_FW_OFFLOAD := y -#Enable Desc Debug Check -CONFIG_RX_DESC_DEBUG_CHECK := y - -- GitLab From 7954d11be5613f1a5fa6f763d3f2927b6e68d661 Mon Sep 17 00:00:00 2001 From: Surya Prakash Sivaraj Date: Fri, 29 Mar 2024 10:33:08 +0530 Subject: [PATCH 28/30] qcacld-3.0: Remove use-after-free of frame in tx mgmt send The tx completion handler for the frame frees the buffer. Therefore, usage of frame after tx completion causes undesired effect. Remove the dereference of tx frame buffer contents in lim_tx_mgmt_frame() after the tx completion. Change-Id: I32211e1bce4f96ba920a2212ef65aa39831666ab CRs-Fixed: 3772014 --- core/mac/src/pe/lim/lim_send_management_frames.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/core/mac/src/pe/lim/lim_send_management_frames.c b/core/mac/src/pe/lim/lim_send_management_frames.c index 7f325e838073..5f6e5d1d21ec 100644 --- a/core/mac/src/pe/lim/lim_send_management_frames.c +++ b/core/mac/src/pe/lim/lim_send_management_frames.c @@ -5416,7 +5416,6 @@ QDF_STATUS lim_send_delba_action_frame(struct mac_context *mac_ctx, static void lim_tx_mgmt_frame(struct mac_context *mac_ctx, uint8_t vdev_id, uint32_t msg_len, void *packet, uint8_t *frame) { - tpSirMacFrameCtl fc = (tpSirMacFrameCtl)frame; QDF_STATUS qdf_status; struct pe_session *session; uint16_t auth_ack_status; @@ -5445,8 +5444,7 @@ static void lim_tx_mgmt_frame(struct mac_context *mac_ctx, uint8_t vdev_id, MTRACE(qdf_trace(QDF_MODULE_ID_PE, TRACE_CODE_TX_COMPLETE, session->peSessionId, qdf_status)); if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { - pe_err("*** Could not send Auth frame (subType: %d), retCode=%X ***", - fc->subType, qdf_status); + pe_err("Could not send Auth frame, retCode=%X", qdf_status); mac_ctx->auth_ack_status = LIM_TX_FAILED; auth_ack_status = SENT_FAIL; lim_diag_event_report(mac_ctx, WLAN_PE_DIAG_AUTH_ACK_EVENT, -- GitLab From 991906095fb5dd74cc8aeea3643a8aaf8350efaf Mon Sep 17 00:00:00 2001 From: Kiran Kumar Lokere Date: Mon, 9 Sep 2024 16:07:29 -0700 Subject: [PATCH 29/30] qcacld-5.0: Fix the possible OOB write in country IE unpack Fix the possible OOB write in unpacking the country IE due to the IE length check against integer division. CRs-Fixed: 3910626 Change-Id: I800290ab7285fb46ed43a46ce38967046b4881fa --- core/mac/src/sys/legacy/src/utils/src/dot11f.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/mac/src/sys/legacy/src/utils/src/dot11f.c b/core/mac/src/sys/legacy/src/utils/src/dot11f.c index 4385cbba5e0d..503fc06344ba 100644 --- a/core/mac/src/sys/legacy/src/utils/src/dot11f.c +++ b/core/mac/src/sys/legacy/src/utils/src/dot11f.c @@ -133,7 +133,7 @@ typedef struct sIEDefn { #define DOT11F_PARAMETER_CHECK2(pSrc, pBuf, nBuf, pnConsumed) \ do { \ if (!pSrc || IsBadReadPtr(pSrc, 4))\ - eturn DOT11F_BAD_INPUT_BUFFER; \ + return DOT11F_BAD_INPUT_BUFFER; \ if (!pBuf || IsBadWritePtr(pBuf, nBuf))\ return DOT11F_BAD_OUTPUT_BUFFER; \ if (!nBuf)\ -- GitLab From fb3d7f399a09f1de0db3b71894b825b349717e23 Mon Sep 17 00:00:00 2001 From: Dharmendra Tiwari Date: Tue, 3 Sep 2024 23:06:17 -0700 Subject: [PATCH 30/30] qcacld-3.0: Correcting the TSInfo structure size according to the Spec According to spec the TSinfo size should be 4 bytes. To fix this issue,TSInfo size is increased to 4bytes aligning with the current standard. CRs-Fixed: 3910625 Change-Id: I7979fa84af0295d21d4afe1b876af494a5b8fed8 --- core/mac/src/cfg/cfgUtil/dot11f.frms | 2 +- core/mac/src/include/dot11f.h | 4 ++-- core/mac/src/sys/legacy/src/utils/src/dot11f.c | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/core/mac/src/cfg/cfgUtil/dot11f.frms b/core/mac/src/cfg/cfgUtil/dot11f.frms index ed3381df616f..cb1faf5623fb 100644 --- a/core/mac/src/cfg/cfgUtil/dot11f.frms +++ b/core/mac/src/cfg/cfgUtil/dot11f.frms @@ -367,7 +367,7 @@ FF SMPowerModeSet (1) //7.3.1.25 } } -FF TSInfo (3) // 7.3.2.30 +FF TSInfo (4) // 7.3.2.30 { { traffic_type: 1; diff --git a/core/mac/src/include/dot11f.h b/core/mac/src/include/dot11f.h index 507f905e17b7..247f261d8cc3 100644 --- a/core/mac/src/include/dot11f.h +++ b/core/mac/src/include/dot11f.h @@ -26,7 +26,7 @@ * * * This file was automatically generated by 'framesc' - * Wed Sep 29 13:23:21 2021 from the following file(s): + * Tue Sep 3 23:04:38 2024 from the following file(s): * * dot11f.frms * @@ -441,7 +441,7 @@ typedef struct sDot11fFfTSInfo { uint32_t unused:15; } tDot11fFfTSInfo; -#define DOT11F_FF_TSINFO_LEN (3) +#define DOT11F_FF_TSINFO_LEN (4) void dot11f_unpack_ff_ts_info(tpAniSirGlobal, uint8_t *, tDot11fFfTSInfo *); diff --git a/core/mac/src/sys/legacy/src/utils/src/dot11f.c b/core/mac/src/sys/legacy/src/utils/src/dot11f.c index 503fc06344ba..04141282c10b 100644 --- a/core/mac/src/sys/legacy/src/utils/src/dot11f.c +++ b/core/mac/src/sys/legacy/src/utils/src/dot11f.c @@ -24,7 +24,7 @@ * * * This file was automatically generated by 'framesc' - * Wed Sep 29 13:23:21 2021 from the following file(s): + * Tue Sep 3 23:04:38 2024 from the following file(s): * * dot11f.frms * @@ -16338,7 +16338,7 @@ uint32_t dot11f_get_packed_del_ts_size(tpAniSirGlobal pCtx, tDot11fDelTS *pFrm, uint32_t *pnNeeded) { uint32_t status = 0; - *pnNeeded = 7; + *pnNeeded = 8; status = get_packed_size_core(pCtx, (uint8_t *)pFrm, pnNeeded, IES_DelTS); return status; -- GitLab