diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2021-12-05 16:36:05 +0100 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2021-12-14 22:15:06 +0100 |
commit | 3531a96df77badd489681766e29c919b6e017b2d (patch) | |
tree | 9c14d52e7c8f546e42809ecfb0c63959fed9c832 /package/kernel/mac80211/patches/ath10k/081-ath10k-fix-module-load-regression-with-iram-recovery-feature.patch | |
parent | 30b93672ec48d247fcd86b5bca283423db5250b9 (diff) | |
download | upstream-3531a96df77badd489681766e29c919b6e017b2d.tar.gz upstream-3531a96df77badd489681766e29c919b6e017b2d.tar.bz2 upstream-3531a96df77badd489681766e29c919b6e017b2d.zip |
mac80211: Update to version 5.15.8
The following patches were backported from upstream before and are not
needed any more:
package/kernel/mac80211/patches/ath10k/081-ath10k-fix-module-load-regression-with-iram-recovery-feature.patch
package/kernel/mac80211/patches/ath10k/980-ath10k-fix-max-antenna-gain-unit.patch
package/kernel/mac80211/patches/build/010-headers-Add-devm_platform_get_and_ioremap_resource.patch
package/kernel/mac80211/patches/subsys/300-mac80211-drop-check-for-DONT_REORDER-in-__ieee80211_.patch
package/kernel/mac80211/patches/subsys/307-mac80211-do-not-access-the-IV-when-it-was-stripped.patch
package/kernel/mac80211/patches/subsys/308-mac80211-fix-radiotap-header-generation.patch
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'package/kernel/mac80211/patches/ath10k/081-ath10k-fix-module-load-regression-with-iram-recovery-feature.patch')
-rw-r--r-- | package/kernel/mac80211/patches/ath10k/081-ath10k-fix-module-load-regression-with-iram-recovery-feature.patch | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/package/kernel/mac80211/patches/ath10k/081-ath10k-fix-module-load-regression-with-iram-recovery-feature.patch b/package/kernel/mac80211/patches/ath10k/081-ath10k-fix-module-load-regression-with-iram-recovery-feature.patch deleted file mode 100644 index 7a7d08be48..0000000000 --- a/package/kernel/mac80211/patches/ath10k/081-ath10k-fix-module-load-regression-with-iram-recovery-feature.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 6f8c8bf4c7c9be1c42088689fd4370e06b46608a Mon Sep 17 00:00:00 2001 -From: Abinaya Kalaiselvan <akalaise@codeaurora.org> -Date: Wed, 20 Oct 2021 11:59:07 +0300 -Subject: ath10k: fix module load regression with iram-recovery feature - -Commit 9af7c32ceca8 ("ath10k: add target IRAM recovery feature support") -introduced a new firmware feature flag ATH10K_FW_FEATURE_IRAM_RECOVERY. But -this caused ath10k_pci module load to fail if ATH10K_FW_CRASH_DUMP_RAM_DATA bit -was not enabled in the ath10k coredump_mask module parameter: - -[ 2209.328190] ath10k_pci 0000:02:00.0: qca9984/qca9994 hw1.0 target 0x01000000 chip_id 0x00000000 sub 168c:cafe -[ 2209.434414] ath10k_pci 0000:02:00.0: kconfig debug 1 debugfs 1 tracing 1 dfs 1 testmode 1 -[ 2209.547191] ath10k_pci 0000:02:00.0: firmware ver 10.4-3.9.0.2-00099 api 5 features no-p2p,mfp,peer-flow-ctrl,btcoex-param,allows-mesh-bcast,no-ps,peer-fixed-rate,iram-recovery crc32 cbade90a -[ 2210.896485] ath10k_pci 0000:02:00.0: board_file api 1 bmi_id 0:1 crc32 a040efc2 -[ 2213.603339] ath10k_pci 0000:02:00.0: failed to copy target iram contents: -12 -[ 2213.839027] ath10k_pci 0000:02:00.0: could not init core (-12) -[ 2213.933910] ath10k_pci 0000:02:00.0: could not probe fw (-12) - -And by default coredump_mask does not have ATH10K_FW_CRASH_DUMP_RAM_DATA -enabled so anyone using a firmware with iram-recovery feature would fail. To my -knowledge only QCA9984 firmwares starting from release 10.4-3.9.0.2-00099 -enabled the feature. - -The reason for regression was that ath10k_core_copy_target_iram() used -ath10k_coredump_get_mem_layout() to get the memory layout, but when -ATH10K_FW_CRASH_DUMP_RAM_DATA was disabled it would get just NULL and bail out -with an error. - -While looking at all this I noticed another bug: if CONFIG_DEV_COREDUMP is -disabled but the firmware has iram-recovery enabled the module load fails with -similar error messages. I fixed that by returning 0 from -ath10k_core_copy_target_iram() when _ath10k_coredump_get_mem_layout() returns -NULL. - -Tested-on: QCA9984 hw2.0 PCI 10.4-3.9.0.2-00139 - -Fixes: 9af7c32ceca8 ("ath10k: add target IRAM recovery feature support") -Signed-off-by: Abinaya Kalaiselvan <akalaise@codeaurora.org> -Signed-off-by: Jouni Malinen <jouni@codeaurora.org> -Signed-off-by: Kalle Valo <kvalo@codeaurora.org> -Link: https://lore.kernel.org/r/20211020075054.23061-1-kvalo@codeaurora.org ---- - drivers/net/wireless/ath/ath10k/core.c | 11 +++++++++-- - drivers/net/wireless/ath/ath10k/coredump.c | 11 ++++++++--- - drivers/net/wireless/ath/ath10k/coredump.h | 7 +++++++ - 3 files changed, 24 insertions(+), 5 deletions(-) - ---- a/drivers/net/wireless/ath/ath10k/core.c -+++ b/drivers/net/wireless/ath/ath10k/core.c -@@ -2690,9 +2690,16 @@ static int ath10k_core_copy_target_iram( - int i, ret; - u32 len, remaining_len; - -- hw_mem = ath10k_coredump_get_mem_layout(ar); -+ /* copy target iram feature must work also when -+ * ATH10K_FW_CRASH_DUMP_RAM_DATA is disabled, so -+ * _ath10k_coredump_get_mem_layout() to accomplist that -+ */ -+ hw_mem = _ath10k_coredump_get_mem_layout(ar); - if (!hw_mem) -- return -ENOMEM; -+ /* if CONFIG_DEV_COREDUMP is disabled we get NULL, then -+ * just silently disable the feature by doing nothing -+ */ -+ return 0; - - for (i = 0; i < hw_mem->region_table.size; i++) { - tmp = &hw_mem->region_table.regions[i]; ---- a/drivers/net/wireless/ath/ath10k/coredump.c -+++ b/drivers/net/wireless/ath/ath10k/coredump.c -@@ -1447,11 +1447,17 @@ static u32 ath10k_coredump_get_ramdump_s - - const struct ath10k_hw_mem_layout *ath10k_coredump_get_mem_layout(struct ath10k *ar) - { -- int i; -- - if (!test_bit(ATH10K_FW_CRASH_DUMP_RAM_DATA, &ath10k_coredump_mask)) - return NULL; - -+ return _ath10k_coredump_get_mem_layout(ar); -+} -+EXPORT_SYMBOL(ath10k_coredump_get_mem_layout); -+ -+const struct ath10k_hw_mem_layout *_ath10k_coredump_get_mem_layout(struct ath10k *ar) -+{ -+ int i; -+ - if (WARN_ON(ar->target_version == 0)) - return NULL; - -@@ -1464,7 +1470,6 @@ const struct ath10k_hw_mem_layout *ath10 - - return NULL; - } --EXPORT_SYMBOL(ath10k_coredump_get_mem_layout); - - struct ath10k_fw_crash_data *ath10k_coredump_new(struct ath10k *ar) - { ---- a/drivers/net/wireless/ath/ath10k/coredump.h -+++ b/drivers/net/wireless/ath/ath10k/coredump.h -@@ -176,6 +176,7 @@ int ath10k_coredump_register(struct ath1 - void ath10k_coredump_unregister(struct ath10k *ar); - void ath10k_coredump_destroy(struct ath10k *ar); - -+const struct ath10k_hw_mem_layout *_ath10k_coredump_get_mem_layout(struct ath10k *ar); - const struct ath10k_hw_mem_layout *ath10k_coredump_get_mem_layout(struct ath10k *ar); - - #else /* CONFIG_DEV_COREDUMP */ -@@ -213,6 +214,12 @@ ath10k_coredump_get_mem_layout(struct at - { - return NULL; - } -+ -+static inline const struct ath10k_hw_mem_layout * -+_ath10k_coredump_get_mem_layout(struct ath10k *ar) -+{ -+ return NULL; -+} - - #endif /* CONFIG_DEV_COREDUMP */ - |