FROMLIST: wifi: ath10k: snoc: use memcpy_fromio() for MSA ramdump - #871
Conversation
|
Merge Check Failed: No Change Task Found No associated change tasks found for CR 4624722 on any of the following entities: Entities:
CR: 4624722 Please ensure the CR has a change task associated with at least one of the entities for this branch. |
Add kernel.qli.2.0 into change task |
PR #871 — validate-patchPR: #871
Final Summary
|
PR #871 — checker-log-analyzerPR: #871
Detailed report: Full report
|
93eda29 to
6ec111c
Compare
|
Merge Check Failed: CR Not Eligible for Merge CR 4624722 is not eligible for merge. The parent software image for kernel.qli.2.0 is not development complete. Entity: Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations. |
On WCN3990/SNOC the MSA region is mapped with devm_memremap(MEMREMAP_WT). On arm64 such a mapping is not Normal-cacheable, so unaligned accesses to it are not permitted. ath10k_msa_dump_memory() copies the region with a plain memcpy(), whose optimized __pi_memcpy_generic implementation issues wide/unaligned loads. This triggers an alignment fault (FSC=0x21) Oops in ath10k_snoc_fw_crashed_dump() while collecting the devcoredump: Unable to handle kernel paging request ... FSC=0x21: alignment fault pc : __pi_memcpy_generic lr : ath10k_snoc_fw_crashed_dump [ath10k_snoc] The Oops both leaves the firmware RAM dump buffer zeroed (no dump is captured) and crashes the kernel, which in turn breaks modem SSR recovery. Use memcpy_fromio(), which only performs accesses that are valid for such a device-memory mapping. The generic memcpy_fromio() implementation aligns the source before issuing word-sized reads and stores the destination with put_unaligned(), so it is also safe for the coherent DMA allocation used on the non-reserved-memory path. ath11k and ath12k use the same pattern when copying target memory into crash dumps, so call it unconditionally here too. The MEMREMAP_WT pointer is a plain void *, so an explicit __iomem cast is needed; use __force to keep sparse happy. Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.3.3.7.c5-00107-QCAHLSWMTPL-1 Fixes: 3f14b73 ("ath10k: Enable MSA region dump support for WCN3990") Signed-off-by: Linghui Wu <linghui.wu@oss.qualcomm.com> Link: https://lore.kernel.org/all/20260727072629.2297208-1-linghui.wu@oss.qualcomm.com/
6ec111c to
9e1bd3f
Compare
|
Merge Check Failed: CR Not Eligible for Merge CR 4624722 is not eligible for merge. The parent software image for kernel.qli.2.0 is not development complete. Entity: Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations. |
Test jobs on 93eda29 |
Test Matrix
|
Fix an alignment fault seen while collecting ath10k WCN3990/SNOC MSA ramdump.
CRs-Fixed: 4624722