Skip to content

FROMLIST: wifi: ath10k: snoc: use memcpy_fromio() for MSA ramdump - #871

Open
linghuiwu-star wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
linghuiwu-star:ath10k-msa-memcpy-fromio-qcom-6.18
Open

FROMLIST: wifi: ath10k: snoc: use memcpy_fromio() for MSA ramdump#871
linghuiwu-star wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
linghuiwu-star:ath10k-msa-memcpy-fromio-qcom-6.18

Conversation

@linghuiwu-star

Copy link
Copy Markdown

Fix an alignment fault seen while collecting ath10k WCN3990/SNOC MSA ramdump.

CRs-Fixed: 4624722

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4624722 on any of the following entities:

Entities:

  • kernel.qli.2.0

CR: 4624722

Please ensure the CR has a change task associated with at least one of the entities for this branch.

@linghuiwu-star

Copy link
Copy Markdown
Author

Merge Check Failed: No Change Task Found

No associated change tasks found for CR 4624722 on any of the following entities:

Entities:

  • kernel.qli.2.0

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

@qlijarvis

Copy link
Copy Markdown

PR #871 — validate-patch

PR: #871

Verdict Issues Detailed Report
⚠️ 1 Full report

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/linux-wireless/20260727072629.2297208-1-linghui.wu%40oss.qualcomm.com/
  2. Lore link matches PR commits: Yes — diff content is identical; commit message body matches exactly; subject correctly prefixed with FROMLIST:
  3. Upstream patch status: ⏳ In review — posted 27 Jul 2026; received Reviewed-by: Baochen Qiang on same day; no merge/NAK signal yet (patch is 1 day old)
  4. PR present in qcom-next/topics: Fail - 1/1 commit(s) are missing from both qcom-next and topics
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #871 - FROMLIST: wifi: ath10k: snoc: use memcpy_fromio() for MSA ramdump
Upstream commit: https://lore.kernel.org/linux-wireless/20260727072629.2297208-1-linghui.wu%40oss.qualcomm.com/
Verdict: ⚠️ PARTIAL

Commit Message

Check Status Note
Subject matches upstream Subject correctly prefixed with FROMLIST:
Body preserves rationale Complete problem description, fix rationale, and technical details preserved
Fixes tag present/correct Fixes: 3f14b73c3843 present and correct
Authorship preserved From: matches lore author (Linghui Wu)
Backport note (if applicable) N/A Not a backport; patch is FROMLIST:
Reviewed-by present ⚠️ Lore thread has Reviewed-by: Baochen Qiang but PR commit does not include it

Diff

File Status Notes
drivers/net/wireless/ath/ath10k/snoc.c:5 #include <linux/io.h> addition matches exactly
drivers/net/wireless/ath/ath10k/snoc.c:1457 ⚠️ Code changes identical; line numbers differ (PR: 1457, lore: 1476) — context shift due to tree differences

Issues

  • Missing Reviewed-by trailer: The lore thread contains Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com> (posted 27 Jul 2026 08:38 UTC), but the PR commit does not include this trailer. Per kernel conventions, review tags from the mailing list should be added to the commit message before merging.

Verdict

The patch faithfully represents the lore upstream. The diff content is identical; line number differences are due to context shifts in the target tree. However, the Reviewed-by tag from the lore thread should be added to the commit message before merging.

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/linux-wireless/20260727072629.2297208-1-linghui.wu%40oss.qualcomm.com/
  2. Lore link matches PR commits: Yes — diff content is identical; commit message body matches exactly; subject correctly prefixed with FROMLIST:
  3. Upstream patch status: ⏳ In review — posted 27 Jul 2026; received Reviewed-by: Baochen Qiang on same day; no merge/NAK signal yet (patch is 1 day old)
  4. PR present in qcom-next/topics: No — integration presence report shows 1/1 commit missing from both qcom-next and topics (expected for a fresh FROMLIST: patch not yet merged upstream)

Deterministic Integration Presence

Integration Presence Report

This report is generated by Jarvis before validate-patch runs.
It is the authoritative source for whether PR changes are already present
in qcom-next or in the kernel topic branches.

Kernel repo: /local/mnt/workspace/sgaud/Qgenie/image_pipeline/kernel
qcom-next ref: 07f50dc44eddcf748a99d1a7523a466438bfffa6
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/1 [PATCH] FROMLIST: wifi: ath10k: snoc: use memcpy_fromio() for MSA missing - no subject, patch-id, or full tree-content match found missing - no subject, patch-id, or full tree-content match found missing

Final Status

overall_status: FAIL
present_commits: 0/1
partial_commits: 0/1
missing_commits: 1/1
topics_checked_for_commits: 1/1
final_summary: PR present in qcom-next/topics: Fail - 1/1 commit(s) are missing from both qcom-next and topics

@qlijarvis

Copy link
Copy Markdown

PR #871 — checker-log-analyzer

PR: #871
Checker run: https://github.com/qualcomm-linux/kernel-config/actions/runs/30353375231

Checker Result Summary
Checker Result Summary
checkpatch No style issues
dt-binding-check ⏭️ No binding changes
dtb-check ⏭️ No devicetree changes
sparse-check No sparse warnings
check-uapi-headers No UAPI changes
check-patch-compliance b4 fetch failed for lore link
tag-check Subject has valid FROMLIST: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #871 - FROMLIST: wifi: ath10k: snoc: use memcpy_fromio() for MSA ramdump
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30353375231
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch No style issues
dt-binding-check ⏭️ No binding changes
dtb-check ⏭️ No devicetree changes
sparse-check No sparse warnings
check-uapi-headers No UAPI changes
check-patch-compliance b4 fetch failed for lore link
tag-check Subject has valid FROMLIST: prefix

❌ check-patch-compliance

Root cause: The checker failed to fetch the patch from lore.kernel.org using b4, reporting "Something seems wrong with the provided link."

Failure details:

Checking commit: FROMLIST: wifi: ath10k: snoc: use memcpy_fromio() for MSA ramdump
Something seems wrong with the provided link. Please verify it
Try below command to run locally-
b4 am --single-message -C -l -3 https://lore.kernel.org/linux-wireless/20260727072629.2297208-1-linghui.wu%40oss.qualcomm.com/

Analysis:

The commit has all required elements:

  • ✅ Valid prefix: FROMLIST:
  • ✅ Link tag present: Link: https://lore.kernel.org/linux-wireless/20260727072629.2297208-1-linghui.wu%40oss.qualcomm.com/
  • ✅ Proper author: Linghui Wu <linghui.wu@oss.qualcomm.com>
  • ✅ Signed-off-by present

The failure is likely due to one of these reasons:

  1. Timing issue: The patch was posted to lore.kernel.org on 2026-07-27, and the CI ran on 2026-07-28. There may be a propagation delay in lore's indexing/archival system.

  2. Network/transient issue: The b4 tool may have encountered a temporary network issue or timeout when fetching from lore.kernel.org during the CI run.

  3. URL encoding: The lore URL contains %40 (encoded @) which should be handled correctly by b4, but may have caused issues in the CI environment.

Fix:

This is most likely a transient CI issue rather than a patch defect. The patch metadata is correctly formatted.

Recommended actions:

  1. Re-trigger the CI run — the lore link should be accessible now that more time has passed since posting.
  2. Verify locally (if needed):
    b4 am --single-message -C -l -3 https://lore.kernel.org/linux-wireless/20260727072629.2297208-1-linghui.wu@oss.qualcomm.com/
    Note: Use the unencoded @ symbol when testing locally.

No patch changes are required — the commit message format is correct.


Verdict

One non-blocking CI infrastructure issue. The patch itself is correctly formatted with proper prefix, Link tag, and Signed-off-by. All code-quality checkers (checkpatch, sparse) passed. The check-patch-compliance failure appears to be a transient b4/lore fetch issue rather than a patch defect.

Recommendation: Re-trigger CI. If the issue persists, verify the lore link is accessible and consider using the unencoded URL format in the Link tag (@ instead of %40).

@linghuiwu-star
linghuiwu-star force-pushed the ath10k-msa-memcpy-fromio-qcom-6.18 branch from 93eda29 to 6ec111c Compare July 29, 2026 02:50
@qswat-orbit-external

Copy link
Copy Markdown

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: kernel.qli.2.0
CR: 4624722
Reason: CR_CANNOT_MERGE

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/
@linghuiwu-star
linghuiwu-star force-pushed the ath10k-msa-memcpy-fromio-qcom-6.18 branch from 6ec111c to 9e1bd3f Compare July 29, 2026 02:53
@qswat-orbit-external

Copy link
Copy Markdown

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: kernel.qli.2.0
CR: 4624722
Reason: CR_CANNOT_MERGE

Please ensure the CR passes both CCT (ComponentChangeTasks) and ICT (Integration Change Tasks) validations.

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

Test Case hamoa-iot-evk-multimedia lemans-evk-multimedia monaco-evk-multimedia qcs615-ride-multimedia qcs6490-rb3gen2-multimedia qcs8300-ride-multimedia qcs9100-ride-r3-multimedia
BT_FW_KMD_Service ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_ON_OFF ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
BT_SCAN ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPUFreq_Validation ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
CPU_affinity ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
DSP_AudioPD ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Ethernet ◻️ ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip
Freq_Scaling ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
GIC ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
IPA ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Interrupts ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
OpenCV ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
PCIe ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
Probe_Failure_Check ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
RMNET ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
UFS_Validation ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
USBHost ◻️ ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail
WiFi_Firmware_Driver ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
WiFi_OnOff ◻️ ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass
adsp_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
cdsp_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
gpdsp_remoteproc ◻️ ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass
hotplug ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
irq ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
kaslr ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
pinctrl ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
qcom_hwrng ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
rngtest ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
shmbridge ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
smmu ◻️ ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail
watchdog ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass
wpss_remoteproc ◻️ ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants