[PATCH v2] ath10k: fix module load regression with iram-recovery feature

Kalle Valo kvalo at codeaurora.org
Mon Oct 25 06:05:20 PDT 2021


Kalle Valo <kvalo at codeaurora.org> wrote:

> 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 at codeaurora.org>
> Signed-off-by: Jouni Malinen <jouni at codeaurora.org>
> Signed-off-by: Kalle Valo <kvalo at codeaurora.org>

Patch applied to ath-next branch of ath.git, thanks.

6f8c8bf4c7c9 ath10k: fix module load regression with iram-recovery feature

-- 
https://patchwork.kernel.org/project/linux-wireless/patch/20211020075054.23061-1-kvalo@codeaurora.org/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches




More information about the ath10k mailing list