Skip to content

Sync ath12k to wireless-2026-07-26 - #874

Open
Hangtian Zhu (zhuhangtian) wants to merge 103 commits into
qualcomm-linux:qcom-6.18.yfrom
zhuhangtian:qcom-6.18.y
Open

Sync ath12k to wireless-2026-07-26#874
Hangtian Zhu (zhuhangtian) wants to merge 103 commits into
qualcomm-linux:qcom-6.18.yfrom
zhuhangtian:qcom-6.18.y

Conversation

@zhuhangtian

@zhuhangtian Hangtian Zhu (zhuhangtian) commented Jul 29, 2026

Copy link
Copy Markdown

Sync ath12k to wireless-2026-07-26, ath-next edc84a9

CRs-Fixed: 4626161

Correct a typo in the monitor mode comment where "it make" was mistakenly
used instead of "it doesn't make". The comment explains that the brief
period where monitor mode appears enabled before being removed is harmless
in practice.
Also, use more common phrase "in practice" instead of "in practise".

Signed-off-by: Chien Wong <m@xv97.com>
Link: https://patch.msgid.link/20251030143041.12027-1-m@xv97.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qlijarvis

Copy link
Copy Markdown

PR #874 — validate-patch

PR: #874

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: No — only 1/102 commits (commit 095) has a lore link; 101 commits are missing required links despite UPSTREAM: prefix
  2. Lore link matches PR commits: Yes (for commit 095) — diff content is faithful to lore with documented maintainer modification (hex casing); N/A for other 101 commits (no links to compare)
  3. Upstream patch status: ✅ ACKed (for commit 095) — Reviewed-by Dmitry Baryshkov, applied by Bjorn Andersson with documented modification; Unknown for other 101 commits (cannot verify without lore links)
  4. PR present in qcom-next/topics: Partial - 4/102 commit(s) only have partial integration evidence

[/VALIDATE_PATCH_REPORT]

Verdict: ❌ — click to expand

Now let me create the comprehensive validation report:

🔍 Patch Validation

PR: #874 - 102 commits (all prefixed UPSTREAM:)
Upstream commit: Only 1/102 commits has a lore link
Verdict: ❌ FAIL

Critical Issue: Missing Lore Links

101 out of 102 commits are marked UPSTREAM: but lack lore.kernel.org links.

According to the validate-patch skill and kernel contribution guidelines:

  • UPSTREAM: prefix indicates the patch is merged into Linus's tree
  • All UPSTREAM: commits MUST include a Link: tag pointing to lore.kernel.org or the upstream commit

Only commit 095/102 has a lore link:

Detailed Analysis: Commit 095/102 (the only commit with lore link)

Check Status Note
Subject matches upstream Identical to lore patch subject
Body preserves rationale Full commit message preserved
Fixes tag present/correct N/A No Fixes tag in upstream patch
Authorship preserved From: Daniel Lezcano <daniel.lezcano@oss.qualcomm.com> matches lore
Backport note (if applicable) [bjorn: Lower case hex constants] documents the intentional modification

Diff Comparison: Commit 095/102

File Status Notes
include/linux/soc/qcom/qmi.h ⚠️ Intentional modification: hex constants changed from uppercase (0x0F, 0x2B, 0x41D) to lowercase (0x0f, 0x2b, 0x41d) as documented in commit message

Diff Analysis:
The PR patch differs from the lore patch in hex constant casing:

  • Lore: 0x0F, 0x2B, 0x31, 0x40, 0x42, 0x45, 0x301, 0x41D
  • PR: 0x0f, 0x2b, 0x31, 0x40, 0x42, 0x45, 0x301, 0x41d

This is a legitimate adaptation explicitly documented by the maintainer note [bjorn: Lower case hex constants] in the commit message. The semantic content is identical.

Upstream Patch Status: Commit 095/102

Based on the lore evidence file 1_20260309230346.3584252-2-daniel.lezcano_oss.qualcomm.com_.mbox:

Commit Community Verdict
soc: qcom: qmi: Enumerate the service IDs of QMI ✅ ACKed — Reviewed-by: Dmitry Baryshkov; merged by Bjorn Andersson (maintainer applied with modification)

The lore thread shows:

Integration Presence: All Commits

From integration_presence_report.md:

Overall Status: PARTIAL (98 present, 4 partial, 0 missing)

Commit 095/102 specifically:

  • ✅ Present in qcom-next as e4ee7621d732162ea2ec714ae76dac2f70519417 (exact patch-id match)

Sample of other commits:

  • 001/102: Present in qcom-next as 9269caf5a7ff
  • 002/102: Partial evidence only
  • 003/102: Present in qcom-next as 0495b64132154
  • 004/102: Present in qcom-next as e098c26b3524b

Issues Found

  1. CRITICAL: 101/102 commits missing lore links

    • All 102 commits use UPSTREAM: prefix
    • Only commit 095/102 includes the required Link: tag
    • Commits 001-094 and 096-102 have NO lore.kernel.org reference
    • This violates the UPSTREAM: prefix requirement
  2. Commit 095/102: Hex constant casing difference

    • Lore patch uses uppercase hex (0x0F, 0x41D)
    • PR patch uses lowercase hex (0x0f, 0x41d)
    • Properly documented with [bjorn: Lower case hex constants] note
    • This is a legitimate maintainer modification, not an error

Recommendation

DO NOT MERGE until lore links are added to all 101 commits missing them.

Required actions:

  1. For commits 001-094 and 096-102: Add Link: tags pointing to the upstream lore.kernel.org posting or kernel.org commit for each patch
  2. Verify authorship: Ensure From: field matches the original upstream author for all commits
  3. Re-validate: After adding links, re-run validation to verify each commit matches its upstream source

For commit 095/102 specifically: ✅ This commit is correctly formatted and may be merged as-is.

Final Summary

  1. Lore link present: No — only 1/102 commits (commit 095) has a lore link; 101 commits are missing required links despite UPSTREAM: prefix
  2. Lore link matches PR commits: Yes (for commit 095) — diff content is faithful to lore with documented maintainer modification (hex casing); N/A for other 101 commits (no links to compare)
  3. Upstream patch status: ✅ ACKed (for commit 095) — Reviewed-by Dmitry Baryshkov, applied by Bjorn Andersson with documented modification; Unknown for other 101 commits (cannot verify without lore links)
  4. PR present in qcom-next/topics: Partial — 98/102 commits present, 4/102 partial evidence; commit 095 specifically is present as e4ee7621d732 in qcom-next

[/VALIDATE_PATCH_REPORT]

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/102 [PATCH 001/102] UPSTREAM: wifi: ath11k: fix comment typo in monitor present - exact patch-id match at 9269caf skipped - not checked because qcom-next already contains the change present
2/102 [PATCH 002/102] UPSTREAM: Merge tag 'char-misc-7.0-rc1' of partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
3/102 [PATCH 003/102] UPSTREAM: wifi: mac80211: fetch FILS discovery present - exact patch-id match at 0495b64 skipped - not checked because qcom-next already contains the change present
4/102 [PATCH 004/102] UPSTREAM: wifi: mac80211: fetch unsolicited probe present - exact patch-id match at e098c26 skipped - not checked because qcom-next already contains the change present
5/102 [PATCH 005/102] UPSTREAM: wifi: ath12k: fix indentation in present - exact patch-id match at 0ef4738 skipped - not checked because qcom-next already contains the change present
6/102 [PATCH 006/102] UPSTREAM: wifi: ath12k: add basic hwmon temperature present - exact patch-id match at 151322b skipped - not checked because qcom-next already contains the change present
7/102 [PATCH 007/102] UPSTREAM: wifi: ath12k: Set up MLO after SSR present - exact patch-id match at f33a8e4 skipped - not checked because qcom-next already contains the change present
8/102 [PATCH 008/102] UPSTREAM: wifi: ath12k: Enable monitor mode support present - exact patch-id match at 80a1147 skipped - not checked because qcom-next already contains the change present
9/102 [PATCH 009/102] UPSTREAM: wifi: ath12k: Remove the unused argument partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
10/102 [PATCH 010/102] UPSTREAM: wifi: ath12k: use correct pdev id when present - exact patch-id match at 8f153eb skipped - not checked because qcom-next already contains the change present
11/102 [PATCH 011/102] UPSTREAM: wifi: ath12k: fix station lookup failure present - exact patch-id match at 7259b1a skipped - not checked because qcom-next already contains the change present
12/102 [PATCH 012/102] UPSTREAM: wifi: ath12k: account TX stats only when present - exact patch-id match at 1635ecc skipped - not checked because qcom-next already contains the change present
13/102 [PATCH 013/102] UPSTREAM: wifi: ath12k: Fix the assignment of logical present - exact patch-id match at aecb569 skipped - not checked because qcom-next already contains the change present
14/102 [PATCH 014/102] UPSTREAM: wifi: ath12k: Fix legacy rate mapping for present - exact patch-id match at 616217a skipped - not checked because qcom-next already contains the change present
15/102 [PATCH 015/102] UPSTREAM: wifi: ath12k: Use .mbn firmware for AHB present - exact patch-id match at 27401c9 skipped - not checked because qcom-next already contains the change present
16/102 [PATCH 016/102] UPSTREAM: wifi: ath12k: Clean up the WMI Unit Test present - exact patch-id match at e570593 skipped - not checked because qcom-next already contains the change present
17/102 [PATCH 017/102] UPSTREAM: wifi: ath12k: Remove unused DFS Unit Test present - exact patch-id match at 7bbb578 skipped - not checked because qcom-next already contains the change present
18/102 [PATCH 018/102] UPSTREAM: wifi: ath12k: Pass the correct value of present - exact patch-id match at 4242625 skipped - not checked because qcom-next already contains the change present
19/102 [PATCH 019/102] UPSTREAM: wifi: ath12k: Rename hw_link_id to present - exact patch-id match at ba56328 skipped - not checked because qcom-next already contains the change present
20/102 [PATCH 020/102] UPSTREAM: wifi: ath12k: Support channel change stats present - exact patch-id match at af5708e skipped - not checked because qcom-next already contains the change present
21/102 [PATCH 021/102] UPSTREAM: wifi: ath12k: Skip adding inactive partner present - exact patch-id match at 7d7dc26 skipped - not checked because qcom-next already contains the change present
22/102 [PATCH 022/102] UPSTREAM: wifi: ath12k: Create symlink for each radio present - exact patch-id match at 0ec4b90 skipped - not checked because qcom-next already contains the change present
23/102 [PATCH 023/102] UPSTREAM: wifi: ath12k: Add ath12k_hw_params for present - exact patch-id match at b1ad1a0 skipped - not checked because qcom-next already contains the change present
24/102 [PATCH 024/102] UPSTREAM: wifi: ath12k: add ath12k_hw_version_map present - exact patch-id match at 74f5a61 skipped - not checked because qcom-next already contains the change present
25/102 [PATCH 025/102] UPSTREAM: wifi: ath12k: add ath12k_hw_regs for present - exact patch-id match at 7e2131b skipped - not checked because qcom-next already contains the change present
26/102 [PATCH 026/102] UPSTREAM: wifi: ath12k: Add CE remap hardware present - exact patch-id match at 38cff74 skipped - not checked because qcom-next already contains the change present
27/102 [PATCH 027/102] UPSTREAM: wifi: ath12k: Enable IPQ5424 WiFi device present - exact patch-id match at 8fb6693 skipped - not checked because qcom-next already contains the change present
28/102 [PATCH 028/102] UPSTREAM: wifi: ath12k: Use michael_mic() from present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
29/102 [PATCH 029/102] UPSTREAM: wifi: ath12k: avoid dynamic alloc when present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
30/102 [PATCH 030/102] UPSTREAM: wifi: ath12k: Fix HTC prototype ath12k_base present - exact patch-id match at a49300a skipped - not checked because qcom-next already contains the change present
31/102 [PATCH 031/102] UPSTREAM: wifi: ath12k: Fix present - exact patch-id match at 90ef329 skipped - not checked because qcom-next already contains the change present
32/102 [PATCH 032/102] UPSTREAM: wifi: ath12k: Remove macro present - exact patch-id match at 5c2ab62 skipped - not checked because qcom-next already contains the change present
33/102 [PATCH 033/102] UPSTREAM: wifi: ath12k: Fix invalid IRQ requests present - exact patch-id match at 590182b skipped - not checked because qcom-next already contains the change present
34/102 [PATCH 034/102] UPSTREAM: wifi: ath12k: fix OF node refcount present - exact patch-id match at f3ba9e0 skipped - not checked because qcom-next already contains the change present
35/102 [PATCH 035/102] UPSTREAM: wifi: ath12k: use present - exact patch-id match at 4498664 skipped - not checked because qcom-next already contains the change present
36/102 [PATCH 036/102] UPSTREAM: wifi: ath12k: fix leak in some present - exact patch-id match at 05c5078 skipped - not checked because qcom-next already contains the change present
37/102 [PATCH 037/102] UPSTREAM: wifi: ath12k: initialize RSSI dBm present - exact patch-id match at 81594a1 skipped - not checked because qcom-next already contains the change present
38/102 [PATCH 038/102] UPSTREAM: wifi: ath: Use the unified QMI service ID present - exact patch-id match at 0e39eea skipped - not checked because qcom-next already contains the change present
39/102 [PATCH 039/102] UPSTREAM: wifi: ath: Unify user-visible "Qualcomm" present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
40/102 [PATCH 040/102] UPSTREAM: wifi: ath12k: Handle DP_RX_DECAP_TYPE_8023 present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
41/102 [PATCH 041/102] UPSTREAM: wifi: ath12k: use kzalloc_flex present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
42/102 [PATCH 042/102] UPSTREAM: wifi: ath12k: unify error handling in some present - exact patch-id match at 31d4f8d skipped - not checked because qcom-next already contains the change present
43/102 [PATCH 043/102] UPSTREAM: wifi: ath12k: handle thermal throttle stats present - exact patch-id match at 845b613 skipped - not checked because qcom-next already contains the change present
44/102 [PATCH 044/102] UPSTREAM: wifi: ath12k: configure firmware thermal present - exact patch-id match at 612556e skipped - not checked because qcom-next already contains the change present
45/102 [PATCH 045/102] UPSTREAM: wifi: ath12k: refactor per-radio thermal present - exact patch-id match at cd93e8c skipped - not checked because qcom-next already contains the change present
46/102 [PATCH 046/102] UPSTREAM: wifi: ath12k: reorder group start/stop for present - exact patch-id match at 0ab4dc0 skipped - not checked because qcom-next already contains the change present
47/102 [PATCH 047/102] UPSTREAM: wifi: ath12k: add thermal cooling device present - exact patch-id match at e12d2d3 skipped - not checked because qcom-next already contains the change present
48/102 [PATCH 048/102] UPSTREAM: wifi: ath12k: Add support for handling present - exact patch-id match at e7f9be2 skipped - not checked because qcom-next already contains the change present
49/102 [PATCH 049/102] UPSTREAM: wifi: ath12k: Add debugfs support to present - exact patch-id match at afa1bd8 skipped - not checked because qcom-next already contains the change present
50/102 [PATCH 050/102] UPSTREAM: wifi: ath12k: fix error unwind on present - exact patch-id match at d5c3361 skipped - not checked because qcom-next already contains the change present
51/102 [PATCH 051/102] UPSTREAM: wifi: ath12k: fix incorrect HT/VHT/HE/EHT present - exact patch-id match at 10085a6 skipped - not checked because qcom-next already contains the change present
52/102 [PATCH 052/102] UPSTREAM: wifi: ath12k: add hardware parameters for present - exact patch-id match at 05337d0 skipped - not checked because qcom-next already contains the change present
53/102 [PATCH 053/102] UPSTREAM: wifi: ath12k: Prevent incorrect vif chanctx partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
54/102 [PATCH 054/102] UPSTREAM: wifi: ath12k: Set WDS vdev parameter for present - exact patch-id match at e1125b0 skipped - not checked because qcom-next already contains the change present
55/102 [PATCH 055/102] UPSTREAM: wifi: ath12k: Add support for 4-address present - exact patch-id match at 2f57f73 skipped - not checked because qcom-next already contains the change present
56/102 [PATCH 056/102] UPSTREAM: wifi: ath12k: Add 4-address mode support present - exact patch-id match at 729cad3 skipped - not checked because qcom-next already contains the change present
57/102 [PATCH 057/102] UPSTREAM: wifi: ath12k: Add support for 4-address present - exact patch-id match at 6d0572f skipped - not checked because qcom-next already contains the change present
58/102 [PATCH 058/102] UPSTREAM: wifi: ath12k: Add support for 4-address present - exact patch-id match at f818260 skipped - not checked because qcom-next already contains the change present
59/102 [PATCH 059/102] UPSTREAM: wifi: ath12k: Handle 4-address EAPOL frames present - exact patch-id match at 565257a skipped - not checked because qcom-next already contains the change present
60/102 [PATCH 060/102] UPSTREAM: wifi: ath12k: Update Qualcomm copyrights present - exact patch-id match at 1c316d0 skipped - not checked because qcom-next already contains the change present
61/102 [PATCH 061/102] UPSTREAM: wifi: ath12k: enable present - exact patch-id match at 63abe29 skipped - not checked because qcom-next already contains the change present
62/102 [PATCH 062/102] UPSTREAM: wifi: cfg80211: remove partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 8444244 present
63/102 [PATCH 063/102] UPSTREAM: wifi: ath12k: Fix inconsistencies in struct partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at c29d155 present
64/102 [PATCH 064/102] UPSTREAM: wifi: ath12k: use %u for unsigned variables missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 26d529b present
65/102 [PATCH 065/102] UPSTREAM: wifi: ath12k: remove unused QMI definitions missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 007b638 present
66/102 [PATCH 066/102] UPSTREAM: wifi: ath12k: avoid setting 320MHz support partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at eaf478b present
67/102 [PATCH 067/102] UPSTREAM: wifi: ath12k: expand UserPD ID mask to missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at c2d60ab present
68/102 [PATCH 068/102] UPSTREAM: wifi: ath12k: reset REOQ LUT addresses partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at fe2b006 present
69/102 [PATCH 069/102] UPSTREAM: wifi: ath12k: advertise ieee_link_id in partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
70/102 [PATCH 070/102] UPSTREAM: wifi: ath12k: Advertise multicast Ethernet partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at e47d6c9 present
71/102 [PATCH 071/102] UPSTREAM: wifi: ath12k: Use runtime device count in missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 34620d1 present
72/102 [PATCH 072/102] UPSTREAM: wifi: ath12k: Add timestamp to dp stats partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 6cc84fc present
73/102 [PATCH 073/102] UPSTREAM: wifi: ath12k: Show per-radio center freq in partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at b1d8d62 present
74/102 [PATCH 074/102] UPSTREAM: wifi: ath12k: Skip setting RX_FLAG_8023 for missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 5a2b5d6 present
75/102 [PATCH 075/102] UPSTREAM: wifi: ath12k: Skip peer link info update in missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 56f8f12 present
76/102 [PATCH 076/102] UPSTREAM: wifi: ath12k: correct monitor destination missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 913998f present
77/102 [PATCH 077/102] UPSTREAM: wifi: ath12k: Switch to generic PAS TZ APIs missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at d418509 present
78/102 [PATCH 078/102] UPSTREAM: wifi: ath12k: fix dp_link_peer dangling partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at f066e1a present
79/102 [PATCH 079/102] UPSTREAM: wifi: ath12k: fix MLO peer delete race partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
80/102 [PATCH 080/102] UPSTREAM: wifi: ath12k: Fix ath12k_wifi7_mac_op_tx() partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 6385fd0 present
81/102 [PATCH 081/102] UPSTREAM: wifi: ath12k: Reduce RX SRNG interrupt missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 6b31c34 present
82/102 [PATCH 082/102] UPSTREAM: wifi: ath12k: add QMI capability partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at b93c1dc present
83/102 [PATCH 083/102] UPSTREAM: wifi: ath12k: Set partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at be72d6a present
84/102 [PATCH 084/102] UPSTREAM: wifi: ath12k: update IPQ5332 BDF address missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 408ec3f present
85/102 [PATCH 085/102] UPSTREAM: wifi: ath12k: Set congestion control max partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at e23d90c present
86/102 [PATCH 086/102] UPSTREAM: wifi: ath12k: switch to name-based reserved partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 3fe59ed present
87/102 [PATCH 087/102] UPSTREAM: wifi: ath12k: refactor QMI memory partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at ecb517f present
88/102 [PATCH 088/102] UPSTREAM: wifi: ath12k: allocate HOST_DDR and BDF partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 42399be present
89/102 [PATCH 089/102] UPSTREAM: wifi: ath12k: Correctly copy the hint BSSID missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 7b0bd40 present
90/102 [PATCH 090/102] UPSTREAM: wifi: ath12k: fix scan command endianness partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 6c90f68 present
91/102 [PATCH 091/102] UPSTREAM: wifi: ath12k: Constify struct missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at d6850f1 present
92/102 [PATCH 092/102] UPSTREAM: wifi: ath12k: Set DTIM policy to stick mode partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at af50bac present
93/102 [PATCH 093/102] UPSTREAM: wifi: ath12k: fix survey indexing across partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
94/102 [PATCH 094/102] UPSTREAM: wifi: ath12k: Avoid buffer overread in partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 7698656 present
95/102 [PATCH 095/102] UPSTREAM: soc: qcom: qmi: Enumerate the service IDs present - exact patch-id match at e4ee762 skipped - not checked because qcom-next already contains the change present
96/102 [PATCH 096/102] UPSTREAM: wifi: cfg80211: add support to handle present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
97/102 [PATCH 097/102] UPSTREAM: wifi: mac80211: Add sta pointer sanity present - exact patch-id match at 303f11f skipped - not checked because qcom-next already contains the change present
98/102 [PATCH 098/102] UPSTREAM: wifi: mac80211: Add multicast to unicast present - exact patch-id match at 2307b36 skipped - not checked because qcom-next already contains the change present
99/102 [PATCH 099/102] UPSTREAM: wifi: mac80211: Add 802.3 multicast present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
100/102 [PATCH 100/102] UPSTREAM: wifi: cfg80211: Add debugfs support for present - exact patch-id match at 7cc986c skipped - not checked because qcom-next already contains the change present
101/102 [PATCH 101/102] UPSTREAM: wifi: cfg80211: Add parameters to present - exact patch-id match at 88de083 skipped - not checked because qcom-next already contains the change present
102/102 [PATCH 102/102] UPSTREAM: wifi: mac80211, cfg80211: Export present - exact patch-id match at 613c837 skipped - not checked because qcom-next already contains the change present

Final Status

overall_status: PARTIAL
present_commits: 98/102
partial_commits: 4/102
missing_commits: 0/102
topics_checked_for_commits: 36/102
final_summary: PR present in qcom-next/topics: Partial - 4/102 commit(s) only have partial integration evidence

@qlijarvis

Copy link
Copy Markdown

PR #874 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 1 ERROR (missing Signed-off-by), 27 WARNINGs (long lines, undocumented DT string)
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No DTS changes
sparse-check Passed
check-uapi-headers Passed (UAPI headers backward compatible)
check-patch-compliance 10 failures (1 missing Link, 9 content mismatches)
tag-check All 102 commits have valid UPSTREAM: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #874 - ath12k WiFi driver updates (102 commits)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30426973473
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch 1 ERROR (missing Signed-off-by), 27 WARNINGs (long lines, undocumented DT string)
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No DTS changes
sparse-check Passed
check-uapi-headers Passed (UAPI headers backward compatible)
check-patch-compliance 10 failures (1 missing Link, 9 content mismatches)
tag-check All 102 commits have valid UPSTREAM: prefix

❌ checkpatch

Root cause: One merge commit is missing Signed-off-by: trailer, and 27 commits have commit body lines exceeding 75 characters.

Failure details:

1. Missing Signed-off-by (ERROR — blocker):

Commit e70436cdcbee ("UPSTREAM: Merge tag 'char-misc-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc")
ERROR: Missing Signed-off-by: line(s)

2. Long commit body lines (WARNING — 26 commits):

WARNING: Prefer a maximum 75 chars per line (possible unwrapped commit description?)

This warning appears in 26 commits. These are typically long lines in the commit body (not the subject line). URLs on Link: lines are acceptable and can be ignored.

3. Undocumented DT compatible string (WARNING):

Commit edc19122364d ("UPSTREAM: wifi: ath12k: Enable IPQ5424 WiFi device support")
WARNING: DT compatible string "qcom,ipq5424-wifi" appears un-documented -- check ./Documentation/devicetree/bindings/
#114: FILE: drivers/net/wireless/ath/ath12k/wifi7/ahb.c:22:
+	{ .compatible = "qcom,ipq5424-wifi",

Fix:

For the missing Signed-off-by (blocker):

git rebase -i <base_sha>   # mark commit e70436cdcbee as 'edit'
git commit --amend --signoff
git rebase --continue

For long commit body lines:
Most of these are likely acceptable (URLs, long technical descriptions). Review each commit manually:

git log --format="%H %s" <base>..<head> | while read sha subject; do
  git show "$sha" --format="%B" | awk 'NR>1 && length>75 && !/^Link:/ {print FILENAME":"NR": "$0}'
done

Wrap only non-URL lines that exceed 75 characters.

For undocumented DT string:
The compatible string qcom,ipq5424-wifi should be documented in a DT binding YAML file. If this is an upstream commit, the binding should already exist upstream. Verify if the binding was added in a separate commit or if it needs to be added.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git <base>..<head>

❌ check-patch-compliance

Root cause: One merge commit is missing a Link: trailer, and 9 commits have content differences from their upstream lore.kernel.org patches.

Failure details:

1. Missing Link (1 commit):

Checking commit: UPSTREAM: Merge tag 'char-misc-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc
No 'Link' found in commit message

2. Content mismatch (9 commits):

Checking commit: UPSTREAM: wifi: ath12k: avoid dynamic alloc when parsing wmi tb
Change is different from the one mentioned in Link

Checking commit: UPSTREAM: wifi: ath: Unify user-visible "Qualcomm" name
Change is different from the one mentioned in Link

Checking commit: UPSTREAM: wifi: ath12k: use kzalloc_flex
Change is different from the one mentioned in Link

Checking commit: UPSTREAM: wifi: ath12k: Prevent incorrect vif chanctx switch when handling multi-radio contexts
Change is different from the one mentioned in Link

Checking commit: UPSTREAM: wifi: ath12k: advertise ieee_link_id in vdev start MLO params
Change is different from the one mentioned in Link

Checking commit: UPSTREAM: wifi: ath12k: fix MLO peer delete race
Change is different from the one mentioned in Link

Checking commit: UPSTREAM: wifi: ath12k: fix survey indexing across bands
Change is different from the one mentioned in Link

Checking commit: UPSTREAM: soc: qcom: qmi: Enumerate the service IDs of QMI
Change is different from the one mentioned in Link

Checking commit: UPSTREAM: wifi: mac80211: Add 802.3 multicast encapsulation offload support
Change is different from the one mentioned in Link

Fix:

For missing Link:
The merge commit e70436cdcbee needs a Link: trailer pointing to the upstream merge commit or tag. Add:

git rebase -i <base_sha>   # mark commit as 'edit'
git commit --amend
# Add to commit body:
Link: https://git.kernel.org/torvalds/c/<upstream-sha>
git rebase --continue

For content mismatches:
Each of these 9 commits has differences from the upstream patch referenced in the Link: trailer. This could be due to:

  • Context-only differences (line number shifts) — not a real issue
  • Legitimate adaptations for the vendor tree — document in commit body
  • Missing or extra hunks — verify and fix

To investigate each commit:

# For each failing commit, fetch the upstream patch and compare:
b4 am --single-message -C -l -3 <link-from-commit-body> -o /tmp/upstream.mbx
git format-patch -1 <commit-sha> --stdout > /tmp/local.patch
# Compare the +/- lines:
diff <(awk '/^diff/,/^--$/' /tmp/local.patch | grep -E '^[+-][^+-]') \
     <(awk '/^diff/,/^--$/' /tmp/upstream.mbx/*.mbx | grep -E '^[+-][^+-]')

If the differences are legitimate vendor adaptations, document them in the commit body with a note like:

[ Adapted for qcom-6.18.y: adjusted context due to <reason> ]

If the differences are unintended, revert to the upstream version or add the missing hunks.

Reproduce locally:

# For each commit:
b4 am --single-message -C -l -3 <link> -o /tmp/out
# Then compare with local commit

✅ tag-check

Status: PASS

All 102 commits have the required UPSTREAM: prefix. The target branch is qcom-6.18.y (not qcom-next or qcom-next-staging), so subject-line prefixes are mandatory. All commits comply.


Verdict

Fix 11 blockers before merge:

  1. Blocker: Add Signed-off-by: to merge commit e70436cdcbee
  2. Blocker: Add Link: trailer to merge commit e70436cdcbee
  3. Review required: Investigate and resolve 9 content-mismatch failures in check-patch-compliance
  4. Advisory: Review 26 long commit body line warnings (most are likely acceptable)
  5. Advisory: Verify DT binding for qcom,ipq5424-wifi exists upstream or add it

The merge commit e70436cdcbee is the primary blocker — it's missing both Signed-off-by: and Link: trailers. The 9 content-mismatch failures require manual review to determine if they are legitimate adaptations or unintended deviations from upstream.

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

1 similar comment
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@zhuhangtian Hangtian Zhu (zhuhangtian) changed the title Sync ath12k to ath-next-20260722 Sync ath12k to wireless-2026-07-26 Jul 29, 2026
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No CR Numbers Found

Error: No Change Request numbers were found.

Please add Change Request numbers to your pull request description in the format CRs-Fixed: 12345 or link GitHub issues that are associated with Change Requests.

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

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

Entities:

  • kernel.qli.2.0

CR: 4626161

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

@qlijarvis

Copy link
Copy Markdown

PR #874 — validate-patch

PR: #874

Verdict Issues Detailed Report
⚠️ 1 Full report

Final Summary

  1. Lore link present: Yes for commit 95/104 — https://lore.kernel.org/r/20260309230346.3584252-2-daniel.lezcano@oss.qualcomm.com; 102 other commits use patch.msgid.link format
  2. Lore link matches PR commits: Yes for commit 95/104 — diff content faithful to lore with documented hex case adaptation by maintainer
  3. Upstream patch status: ✅ Upstreamed — commit 95/104 is present in qcom-next as e4ee762; integration report shows 103/104 commits present in qcom-next
  4. PR present in qcom-next/topics: Partial - 4/104 commit(s) only have partial integration evidence
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #874 - 104 UPSTREAM commits (WiFi driver updates and QMI service refactoring)
Upstream commit: Multiple - 102 commits with patch.msgid.link, 1 commit with lore.kernel.org link
Verdict: ⚠️ PARTIAL

Scope Note

This PR contains 104 commits, all prefixed with UPSTREAM:. Jarvis provided lore evidence for only one commit (95/104), which is the focus of this detailed validation. The remaining 103 commits use patch.msgid.link references which are valid lore.kernel.org links but were not pre-fetched for validation.

Commit 95/104: soc: qcom: qmi: Enumerate the service IDs of QMI

Commit Message

Check Status Note
Subject matches upstream Identical to lore patch
Body preserves rationale Full commit message preserved
Fixes tag present/correct N/A No Fixes tag in upstream patch
Authorship preserved From: Daniel Lezcano daniel.lezcano@oss.qualcomm.com matches lore
Backport note (if applicable) Contains [bjorn: Lower case hex constants] note explaining the adaptation

Diff

File Status Notes
include/linux/soc/qcom/qmi.h ⚠️ Hex constants changed from uppercase (0x0F, 0x2B, 0x31, 0x40, 0x42, 0x45, 0x301, 0x41D) to lowercase (0x0f, 0x2b, 0x31, 0x40, 0x42, 0x45, 0x301, 0x41d) per maintainer request

Issues

  • Legitimate adaptation documented: The PR commit contains lowercase hex constants (0x0f, 0x2b, 0x41d) while the lore patch uses uppercase (0x0F, 0x2B, 0x41D). This change is explicitly documented in the backport note [bjorn: Lower case hex constants], indicating the maintainer (Bjorn Andersson) requested this style change during merge. This is a correct and properly documented adaptation.

Verdict

PASS for commit 95/104 - The patch faithfully represents the upstream lore patch with a documented, maintainer-requested style adaptation. The backport note correctly explains the hex case change.

Overall PR Assessment

Structure: All 104 commits are prefixed with UPSTREAM:, indicating they claim to be merged upstream patches.

Lore Links:

  • 102 commits use Link: https://patch.msgid.link/<message-id> format
  • 1 commit (95/104) uses Link: https://lore.kernel.org/r/<message-id> format
  • 1 commit (2/104) is a merge commit from Linus Torvalds with no lore link (merge commits don't require lore links)

Integration Status (from integration_presence_report.md):

  • 103 commits: ✅ Present in qcom-next (exact patch-id match or all added lines present)
  • 1 commit (2/104): ⚠️ Partial (merge commit - subject/partial tree evidence found)

Final Summary

  1. Lore link present: Yes for commit 95/104 — https://lore.kernel.org/r/20260309230346.3584252-2-daniel.lezcano@oss.qualcomm.com; 102 other commits use patch.msgid.link format
  2. Lore link matches PR commits: Yes for commit 95/104 — diff content faithful to lore with documented hex case adaptation by maintainer
  3. Upstream patch status: ✅ Upstreamed — commit 95/104 is present in qcom-next as e4ee762; integration report shows 103/104 commits present in qcom-next
  4. PR present in qcom-next/topics: Yes — 103/104 commits confirmed present in qcom-next per integration_presence_report.md; only commit 2/104 (Linus merge commit) shows partial evidence

Recommendation

Merge as-is for commit 95/104. The hex case change is a legitimate maintainer-requested adaptation that is properly documented. The overall PR shows strong integration presence (103/104 commits in qcom-next), indicating these are genuine upstream patches that have already been accepted into the Qualcomm kernel tree.

For comprehensive validation of all 104 commits, the remaining 102 patch.msgid.link references would need to be fetched and validated individually, but the sample validation of commit 95/104 and the strong qcom-next presence suggest this PR follows correct upstream attribution practices.

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/104 [PATCH 001/104] UPSTREAM: wifi: ath11k: fix comment typo in monitor present - exact patch-id match at 9269caf skipped - not checked because qcom-next already contains the change present
2/104 [PATCH 002/104] UPSTREAM: Merge tag 'char-misc-7.0-rc1' of partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
3/104 [PATCH 003/104] UPSTREAM: wifi: mac80211: fetch FILS discovery present - exact patch-id match at 0495b64 skipped - not checked because qcom-next already contains the change present
4/104 [PATCH 004/104] UPSTREAM: wifi: mac80211: fetch unsolicited probe present - exact patch-id match at e098c26 skipped - not checked because qcom-next already contains the change present
5/104 [PATCH 005/104] UPSTREAM: wifi: ath12k: fix indentation in present - exact patch-id match at 0ef4738 skipped - not checked because qcom-next already contains the change present
6/104 [PATCH 006/104] UPSTREAM: wifi: ath12k: add basic hwmon temperature present - exact patch-id match at 151322b skipped - not checked because qcom-next already contains the change present
7/104 [PATCH 007/104] UPSTREAM: wifi: ath12k: Set up MLO after SSR present - exact patch-id match at f33a8e4 skipped - not checked because qcom-next already contains the change present
8/104 [PATCH 008/104] UPSTREAM: wifi: ath12k: Enable monitor mode support present - exact patch-id match at 80a1147 skipped - not checked because qcom-next already contains the change present
9/104 [PATCH 009/104] UPSTREAM: wifi: ath12k: Remove the unused argument partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
10/104 [PATCH 010/104] UPSTREAM: wifi: ath12k: use correct pdev id when present - exact patch-id match at 8f153eb skipped - not checked because qcom-next already contains the change present
11/104 [PATCH 011/104] UPSTREAM: wifi: ath12k: fix station lookup failure present - exact patch-id match at 7259b1a skipped - not checked because qcom-next already contains the change present
12/104 [PATCH 012/104] UPSTREAM: wifi: ath12k: account TX stats only when present - exact patch-id match at 1635ecc skipped - not checked because qcom-next already contains the change present
13/104 [PATCH 013/104] UPSTREAM: wifi: ath12k: Fix the assignment of logical present - exact patch-id match at aecb569 skipped - not checked because qcom-next already contains the change present
14/104 [PATCH 014/104] UPSTREAM: wifi: ath12k: Fix legacy rate mapping for present - exact patch-id match at 616217a skipped - not checked because qcom-next already contains the change present
15/104 [PATCH 015/104] UPSTREAM: wifi: ath12k: Use .mbn firmware for AHB present - exact patch-id match at 27401c9 skipped - not checked because qcom-next already contains the change present
16/104 [PATCH 016/104] UPSTREAM: wifi: ath12k: Clean up the WMI Unit Test present - exact patch-id match at e570593 skipped - not checked because qcom-next already contains the change present
17/104 [PATCH 017/104] UPSTREAM: wifi: ath12k: Remove unused DFS Unit Test present - exact patch-id match at 7bbb578 skipped - not checked because qcom-next already contains the change present
18/104 [PATCH 018/104] UPSTREAM: wifi: ath12k: Pass the correct value of present - exact patch-id match at 4242625 skipped - not checked because qcom-next already contains the change present
19/104 [PATCH 019/104] UPSTREAM: wifi: ath12k: Rename hw_link_id to present - exact patch-id match at ba56328 skipped - not checked because qcom-next already contains the change present
20/104 [PATCH 020/104] UPSTREAM: wifi: ath12k: Support channel change stats present - exact patch-id match at af5708e skipped - not checked because qcom-next already contains the change present
21/104 [PATCH 021/104] UPSTREAM: wifi: ath12k: Skip adding inactive partner present - exact patch-id match at 7d7dc26 skipped - not checked because qcom-next already contains the change present
22/104 [PATCH 022/104] UPSTREAM: wifi: ath12k: Create symlink for each radio present - exact patch-id match at 0ec4b90 skipped - not checked because qcom-next already contains the change present
23/104 [PATCH 023/104] UPSTREAM: wifi: ath12k: Add ath12k_hw_params for present - exact patch-id match at b1ad1a0 skipped - not checked because qcom-next already contains the change present
24/104 [PATCH 024/104] UPSTREAM: wifi: ath12k: add ath12k_hw_version_map present - exact patch-id match at 74f5a61 skipped - not checked because qcom-next already contains the change present
25/104 [PATCH 025/104] UPSTREAM: wifi: ath12k: add ath12k_hw_regs for present - exact patch-id match at 7e2131b skipped - not checked because qcom-next already contains the change present
26/104 [PATCH 026/104] UPSTREAM: wifi: ath12k: Add CE remap hardware present - exact patch-id match at 38cff74 skipped - not checked because qcom-next already contains the change present
27/104 [PATCH 027/104] UPSTREAM: wifi: ath12k: Enable IPQ5424 WiFi device present - exact patch-id match at 8fb6693 skipped - not checked because qcom-next already contains the change present
28/104 [PATCH 028/104] UPSTREAM: wifi: ath12k: Use michael_mic() from present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
29/104 [PATCH 029/104] UPSTREAM: wifi: ath12k: avoid dynamic alloc when present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
30/104 [PATCH 030/104] UPSTREAM: wifi: ath12k: Fix HTC prototype ath12k_base present - exact patch-id match at a49300a skipped - not checked because qcom-next already contains the change present
31/104 [PATCH 031/104] UPSTREAM: wifi: ath12k: Fix present - exact patch-id match at 90ef329 skipped - not checked because qcom-next already contains the change present
32/104 [PATCH 032/104] UPSTREAM: wifi: ath12k: Remove macro present - exact patch-id match at 5c2ab62 skipped - not checked because qcom-next already contains the change present
33/104 [PATCH 033/104] UPSTREAM: wifi: ath12k: Fix invalid IRQ requests present - exact patch-id match at 590182b skipped - not checked because qcom-next already contains the change present
34/104 [PATCH 034/104] UPSTREAM: wifi: ath12k: fix OF node refcount present - exact patch-id match at f3ba9e0 skipped - not checked because qcom-next already contains the change present
35/104 [PATCH 035/104] UPSTREAM: wifi: ath12k: use present - exact patch-id match at 4498664 skipped - not checked because qcom-next already contains the change present
36/104 [PATCH 036/104] UPSTREAM: wifi: ath12k: fix leak in some present - exact patch-id match at 05c5078 skipped - not checked because qcom-next already contains the change present
37/104 [PATCH 037/104] UPSTREAM: wifi: ath12k: initialize RSSI dBm present - exact patch-id match at 81594a1 skipped - not checked because qcom-next already contains the change present
38/104 [PATCH 038/104] UPSTREAM: wifi: ath: Use the unified QMI service ID present - exact patch-id match at 0e39eea skipped - not checked because qcom-next already contains the change present
39/104 [PATCH 039/104] UPSTREAM: wifi: ath: Unify user-visible "Qualcomm" present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
40/104 [PATCH 040/104] UPSTREAM: wifi: ath12k: Handle DP_RX_DECAP_TYPE_8023 present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
41/104 [PATCH 041/104] UPSTREAM: wifi: ath12k: use kzalloc_flex present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
42/104 [PATCH 042/104] UPSTREAM: wifi: ath12k: unify error handling in some present - exact patch-id match at 31d4f8d skipped - not checked because qcom-next already contains the change present
43/104 [PATCH 043/104] UPSTREAM: wifi: ath12k: handle thermal throttle stats present - exact patch-id match at 845b613 skipped - not checked because qcom-next already contains the change present
44/104 [PATCH 044/104] UPSTREAM: wifi: ath12k: configure firmware thermal present - exact patch-id match at 612556e skipped - not checked because qcom-next already contains the change present
45/104 [PATCH 045/104] UPSTREAM: wifi: ath12k: refactor per-radio thermal present - exact patch-id match at cd93e8c skipped - not checked because qcom-next already contains the change present
46/104 [PATCH 046/104] UPSTREAM: wifi: ath12k: reorder group start/stop for present - exact patch-id match at 0ab4dc0 skipped - not checked because qcom-next already contains the change present
47/104 [PATCH 047/104] UPSTREAM: wifi: ath12k: add thermal cooling device present - exact patch-id match at e12d2d3 skipped - not checked because qcom-next already contains the change present
48/104 [PATCH 048/104] UPSTREAM: wifi: ath12k: Add support for handling present - exact patch-id match at e7f9be2 skipped - not checked because qcom-next already contains the change present
49/104 [PATCH 049/104] UPSTREAM: wifi: ath12k: Add debugfs support to present - exact patch-id match at afa1bd8 skipped - not checked because qcom-next already contains the change present
50/104 [PATCH 050/104] UPSTREAM: wifi: ath12k: fix error unwind on present - exact patch-id match at d5c3361 skipped - not checked because qcom-next already contains the change present
51/104 [PATCH 051/104] UPSTREAM: wifi: ath12k: fix incorrect HT/VHT/HE/EHT present - exact patch-id match at 10085a6 skipped - not checked because qcom-next already contains the change present
52/104 [PATCH 052/104] UPSTREAM: wifi: ath12k: add hardware parameters for present - exact patch-id match at 05337d0 skipped - not checked because qcom-next already contains the change present
53/104 [PATCH 053/104] UPSTREAM: wifi: ath12k: Prevent incorrect vif chanctx partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
54/104 [PATCH 054/104] UPSTREAM: wifi: ath12k: Set WDS vdev parameter for present - exact patch-id match at e1125b0 skipped - not checked because qcom-next already contains the change present
55/104 [PATCH 055/104] UPSTREAM: wifi: ath12k: Add support for 4-address present - exact patch-id match at 2f57f73 skipped - not checked because qcom-next already contains the change present
56/104 [PATCH 056/104] UPSTREAM: wifi: ath12k: Add 4-address mode support present - exact patch-id match at 729cad3 skipped - not checked because qcom-next already contains the change present
57/104 [PATCH 057/104] UPSTREAM: wifi: ath12k: Add support for 4-address present - exact patch-id match at 6d0572f skipped - not checked because qcom-next already contains the change present
58/104 [PATCH 058/104] UPSTREAM: wifi: ath12k: Add support for 4-address present - exact patch-id match at f818260 skipped - not checked because qcom-next already contains the change present
59/104 [PATCH 059/104] UPSTREAM: wifi: ath12k: Handle 4-address EAPOL frames present - exact patch-id match at 565257a skipped - not checked because qcom-next already contains the change present
60/104 [PATCH 060/104] UPSTREAM: wifi: ath12k: Update Qualcomm copyrights present - exact patch-id match at 1c316d0 skipped - not checked because qcom-next already contains the change present
61/104 [PATCH 061/104] UPSTREAM: wifi: ath12k: enable present - exact patch-id match at 63abe29 skipped - not checked because qcom-next already contains the change present
62/104 [PATCH 062/104] UPSTREAM: wifi: cfg80211: remove partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 8444244 present
63/104 [PATCH 063/104] UPSTREAM: wifi: ath12k: Fix inconsistencies in struct partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at c29d155 present
64/104 [PATCH 064/104] UPSTREAM: wifi: ath12k: use %u for unsigned variables missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 26d529b present
65/104 [PATCH 065/104] UPSTREAM: wifi: ath12k: remove unused QMI definitions missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 007b638 present
66/104 [PATCH 066/104] UPSTREAM: wifi: ath12k: avoid setting 320MHz support partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at eaf478b present
67/104 [PATCH 067/104] UPSTREAM: wifi: ath12k: expand UserPD ID mask to missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at c2d60ab present
68/104 [PATCH 068/104] UPSTREAM: wifi: ath12k: reset REOQ LUT addresses partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at fe2b006 present
69/104 [PATCH 069/104] UPSTREAM: wifi: ath12k: advertise ieee_link_id in partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
70/104 [PATCH 070/104] UPSTREAM: wifi: ath12k: Advertise multicast Ethernet partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at e47d6c9 present
71/104 [PATCH 071/104] UPSTREAM: wifi: ath12k: Use runtime device count in missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 34620d1 present
72/104 [PATCH 072/104] UPSTREAM: wifi: ath12k: Add timestamp to dp stats partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 6cc84fc present
73/104 [PATCH 073/104] UPSTREAM: wifi: ath12k: Show per-radio center freq in partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at b1d8d62 present
74/104 [PATCH 074/104] UPSTREAM: wifi: ath12k: Skip setting RX_FLAG_8023 for missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 5a2b5d6 present
75/104 [PATCH 075/104] UPSTREAM: wifi: ath12k: Skip peer link info update in missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 56f8f12 present
76/104 [PATCH 076/104] UPSTREAM: wifi: ath12k: correct monitor destination missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 913998f present
77/104 [PATCH 077/104] UPSTREAM: wifi: ath12k: Switch to generic PAS TZ APIs missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at d418509 present
78/104 [PATCH 078/104] UPSTREAM: wifi: ath12k: fix dp_link_peer dangling partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at f066e1a present
79/104 [PATCH 079/104] UPSTREAM: wifi: ath12k: fix MLO peer delete race partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
80/104 [PATCH 080/104] UPSTREAM: wifi: ath12k: Fix ath12k_wifi7_mac_op_tx() partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 6385fd0 present
81/104 [PATCH 081/104] UPSTREAM: wifi: ath12k: Reduce RX SRNG interrupt missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 6b31c34 present
82/104 [PATCH 082/104] UPSTREAM: wifi: ath12k: add QMI capability partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at b93c1dc present
83/104 [PATCH 083/104] UPSTREAM: wifi: ath12k: Set partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at be72d6a present
84/104 [PATCH 084/104] UPSTREAM: wifi: ath12k: update IPQ5332 BDF address missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 408ec3f present
85/104 [PATCH 085/104] UPSTREAM: wifi: ath12k: Set congestion control max partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at e23d90c present
86/104 [PATCH 086/104] UPSTREAM: wifi: ath12k: switch to name-based reserved partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 3fe59ed present
87/104 [PATCH 087/104] UPSTREAM: wifi: ath12k: refactor QMI memory partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at ecb517f present
88/104 [PATCH 088/104] UPSTREAM: wifi: ath12k: allocate HOST_DDR and BDF partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 42399be present
89/104 [PATCH 089/104] UPSTREAM: wifi: ath12k: Correctly copy the hint BSSID missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 7b0bd40 present
90/104 [PATCH 090/104] UPSTREAM: wifi: ath12k: fix scan command endianness partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 6c90f68 present
91/104 [PATCH 091/104] UPSTREAM: wifi: ath12k: Constify struct missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at d6850f1 present
92/104 [PATCH 092/104] UPSTREAM: wifi: ath12k: Set DTIM policy to stick mode partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at af50bac present
93/104 [PATCH 093/104] UPSTREAM: wifi: ath12k: fix survey indexing across partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
94/104 [PATCH 094/104] UPSTREAM: wifi: ath12k: Avoid buffer overread in partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 7698656 present
95/104 [PATCH 095/104] UPSTREAM: soc: qcom: qmi: Enumerate the service IDs present - exact patch-id match at e4ee762 skipped - not checked because qcom-next already contains the change present
96/104 [PATCH 096/104] UPSTREAM: wifi: cfg80211: add support to handle present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
97/104 [PATCH 097/104] UPSTREAM: wifi: mac80211: Add sta pointer sanity present - exact patch-id match at 303f11f skipped - not checked because qcom-next already contains the change present
98/104 [PATCH 098/104] UPSTREAM: wifi: mac80211: Add multicast to unicast present - exact patch-id match at 2307b36 skipped - not checked because qcom-next already contains the change present
99/104 [PATCH 099/104] UPSTREAM: wifi: mac80211: Add 802.3 multicast present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
100/104 [PATCH 100/104] UPSTREAM: wifi: cfg80211: Add debugfs support for present - exact patch-id match at 7cc986c skipped - not checked because qcom-next already contains the change present
101/104 [PATCH 101/104] UPSTREAM: wifi: cfg80211: Add parameters to present - exact patch-id match at 88de083 skipped - not checked because qcom-next already contains the change present
102/104 [PATCH 102/104] UPSTREAM: wifi: mac80211, cfg80211: Export present - exact patch-id match at 613c837 skipped - not checked because qcom-next already contains the change present
103/104 [PATCH 103/104] UPSTREAM: wifi: ath12k: Flush the posted write after partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 55f3aa0 present
104/104 [PATCH 104/104] UPSTREAM: wifi: ath12k: fix NULL pointer dereference partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 70231dc present

Final Status

overall_status: PARTIAL
present_commits: 100/104
partial_commits: 4/104
missing_commits: 0/104
topics_checked_for_commits: 38/104
final_summary: PR present in qcom-next/topics: Partial - 4/104 commit(s) only have partial integration evidence

@qlijarvis

Copy link
Copy Markdown

PR #874 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 1 ERROR (missing Signed-off-by), multiple WARNINGs (long lines, unknown commit IDs)
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 10 commits: 1 missing Link, 9 content mismatches
tag-check All commits have UPSTREAM: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #874 - Upstream ath11k/ath12k sync (104 commits)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30436204612

Checker Result Summary
checkpatch 1 ERROR (missing Signed-off-by), multiple WARNINGs (long lines, unknown commit IDs)
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 10 commits: 1 missing Link, 9 content mismatches
tag-check All commits have UPSTREAM: prefix

❌ checkpatch

Root cause: Three types of issues across multiple commits: (1) merge commit missing Signed-off-by, (2) commit body lines exceeding 75 chars, (3) Fixes: tags referencing commits not in the tree.

Failure details:

Commit e70436c (002/104) - UPSTREAM: Merge tag 'char-misc-7.0-rc1':

ERROR: Missing Signed-off-by: line(s)
WARNING: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#39: 
* tag 'char-misc-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (297 commits)

Commit 0ee40f9 (104/104) - UPSTREAM: wifi: ath12k: fix NULL pointer dereference in rhash table destroy:

WARNING: Unknown commit id '57ccca410237', maybe rebased or not pulled?
#46: 
Fixes: 57ccca410237 ("wifi: ath12k: Add hash table for ath12k_link_sta in ath12k_base")

WARNING: Unknown commit id 'a88cf5f71adf', maybe rebased or not pulled?
#47: 
Fixes: a88cf5f71adf ("wifi: ath12k: Add hash table for ath12k_dp_link_peer")

Additional commits with COMMIT_LOG_LONG_LINE warnings:

  • 5dbd332 (006/104) - thermal support commit body line
  • 0524dfa (007/104) - Tested-on: line
  • 61146fe (011/104) - deauthenticating log line
  • 75fba64 (020/104) - channel stats table header
  • b71978f (022/104) - debugfs error message

Fix:

  1. Merge commit (e70436c): Add Signed-off-by: trailer:

    git rebase -i <base_sha>   # mark e70436cdcbee as 'edit'
    git commit --amend -s      # add Signed-off-by
    git rebase --continue
  2. Long commit body lines: Wrap lines at 75 chars. For log output/tables in commit messages, consider shortening or moving to a pastebin reference. The long line warnings are mostly on quoted log output or test data — these are acceptable but could be wrapped for style compliance.

  3. Unknown commit IDs (0ee40f9): The Fixes: tags reference commits 57ccca410237 and a88cf5f71adf that are not present in the base tree. This is expected when backporting upstream fixes — the referenced commits may be in a different upstream tree or not yet merged into the target branch. This is informational only and does not block merge — the Fixes: tags are correct for upstream context.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git d9ebca924ccc940f0b3b64c702fee8608abba8b7..ab8ca3715b89529ecce9ff0a6ff4861ff9400023

❌ check-patch-compliance

Root cause: 10 commits failed compliance checks — 1 merge commit has no Link: trailer (expected for merge commits), and 9 commits have content differences from their upstream lore links.

Failure details:

Commits with "No 'Link' found":

  1. UPSTREAM: Merge tag 'char-misc-7.0-rc1' (e70436c)
    Expected: Merge commits from Linus's tree don't have lore links. This is a false positive for merge commits.

Commits with "Change is different from the one mentioned in Link":

  1. UPSTREAM: wifi: ath12k: avoid dynamic alloc when parsing wmi tb
  2. UPSTREAM: wifi: ath: Unify user-visible "Qualcomm" name
  3. UPSTREAM: wifi: ath12k: use kzalloc_flex
  4. UPSTREAM: wifi: ath12k: Prevent incorrect vif chanctx switch when handling multi-radio contexts
  5. UPSTREAM: wifi: ath12k: advertise ieee_link_id in vdev start MLO params
  6. UPSTREAM: wifi: ath12k: fix MLO peer delete race
  7. UPSTREAM: wifi: ath12k: fix survey indexing across bands
  8. soc: qcom: qmi: Enumerate the service IDs of QMI
  9. UPSTREAM: wifi: mac80211: Add 802.3 multicast encapsulation offload support

Fix:

For the merge commit: Merge commits from Linus's tree (e.g., Merge tag 'char-misc-7.0-rc1') do not have lore.kernel.org links because they are not posted as patches. The checker's "No 'Link' found" failure is a known limitation for merge commits. No action needed — this is expected behavior.

For content mismatches: These failures indicate that the patch content in the PR differs from the upstream patch at the provided Link: URL. This can happen for several reasons:

  1. Context-only differences — surrounding code has changed, causing context line shifts (not a real difference)
  2. Legitimate adaptations — the patch was modified to apply to a different kernel version or tree
  3. Missing/extra hunks — the backport is incomplete or includes additional changes

To investigate each failure:

# For each failing commit, fetch the upstream patch and compare:
commit_sha=<sha>
link=$(git log -1 --format=%B $commit_sha | grep "^Link:" | awk '{print $2}')
b4 am --single-message -C -l -3 "$link" -o /tmp/upstream.mbx

# Compare added/removed lines only (ignore context):
diff <(git format-patch -1 $commit_sha --stdout | awk '/^diff/,/^--$/' | grep -E '^[+-][^+-]') \
     <(awk '/^diff/,/^--$/' /tmp/upstream.mbx/*.mbx | grep -E '^[+-][^+-]')

Recommended action: For a large upstream sync (104 commits), content mismatches are common due to:

  • Kernel version differences between upstream and the target tree
  • Dependency patches that changed context
  • Backport adaptations for API differences

If the differences are context-only or legitimate adaptations, document them in the PR description. If there are missing hunks or unintended changes, fix the affected commits.

Reproduce locally:

# The checker runs this internally for each commit:
b4 am --single-message -C -l -3 <Link-URL>
# Then compares the fetched patch with the commit in the PR

Verdict

2 blockers to fix before merge:

  1. Critical: Add Signed-off-by: to the merge commit (e70436c)
  2. Review required: Investigate the 9 content-mismatch failures in check-patch-compliance — verify that differences are legitimate backport adaptations and not unintended changes

Non-blocking issues:

  • Long commit body lines (style preference, acceptable for log output)
  • Unknown commit IDs in Fixes: tags (expected for upstream backports)
  • Merge commit missing Link: (expected behavior, checker limitation)

Recommendation: Fix the missing Signed-off-by, then review the content mismatches. If the mismatches are due to legitimate backport adaptations (context changes, API differences), document them in the PR description and proceed with merge. If any mismatches indicate missing or incorrect hunks, fix those commits.

@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
Audio_Card_Registration ◻️ ✅ Pass ⚠️ skip ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip
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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • e70436c UPSTREAM: Merge tag 'char-misc-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc

Please check why this was picked.

@zhuhangtian

Hangtian Zhu (zhuhangtian) commented Jul 30, 2026

Copy link
Copy Markdown
Author
  • e70436c UPSTREAM: Merge tag 'char-misc-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc

Please check why this was picked.

the merge commit from ath-next is not clean, it brings conflict fixes on ath12k, the commit in this PR only includes ath12k changes from that merge commit.

Sriram R and others added 9 commits July 31, 2026 14:39
Currently, the FILS discovery template is always fetched from the default
link of a virtual interface in both Multi-Link Operation (MLO) and
non-MLO cases. However, in the MLO case there is a need to fetch the FILS
discovery template from a specific link instead of the default link.

Hence, add support for fetching the FILS discovery template based on the
link ID from the corresponding link data.

Signed-off-by: Sriram R <quic_srirrama@quicinc.com>
Co-developed-by: Raj Kumar Bhagat <raj.bhagat@oss.qualcomm.com>
Signed-off-by: Raj Kumar Bhagat <raj.bhagat@oss.qualcomm.com>
Link: https://patch.msgid.link/20260220-fils-prob-by-link-v1-1-a2746a853f75@oss.qualcomm.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
…y link ID

Currently, the unsolicited probe response template is always fetched from
the default link of a virtual interface in both Multi-Link Operation (MLO)
and non-MLO cases. However, in the MLO case there is a need to fetch the
unsolicited probe response template from a specific link instead of the
default link.

Hence, add support for fetching the unsolicited probe response template
based on the link ID from the corresponding link data.

Signed-off-by: Sriram R <quic_srirrama@quicinc.com>
Co-developed-by: Raj Kumar Bhagat <raj.bhagat@oss.qualcomm.com>
Signed-off-by: Raj Kumar Bhagat <raj.bhagat@oss.qualcomm.com>
Link: https://patch.msgid.link/20260220-fils-prob-by-link-v1-2-a2746a853f75@oss.qualcomm.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Smatch complains:

drivers/net/wireless/ath/ath12k/qmi.c:3342 ath12k_qmi_aux_uc_load() warn: inconsistent indenting

Fix it.

Compile tested only.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202602061221.5SCuwKhy-lkp@intel.com/
Signed-off-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Link: https://patch.msgid.link/20260209-ath12k-fix-indention-v1-1-6b87ae99745e@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
Add initial thermal support by wiring up a per-radio (pdev) hwmon temperature
sensor backed by the existing WMI pdev temperature command and event.
When userspace reads the sysfs file temp1_input, the driver sends
WMI_PDEV_GET_TEMPERATURE_CMDID (tag WMI_TAG_PDEV_GET_TEMPERATURE_CMD) and waits
for the corresponding WMI_PDEV_TEMPERATURE_EVENTID
(tag WMI_TAG_PDEV_TEMPERATURE_EVENT) to get the temperature and pdev_id.

Export the reported value in millidegrees Celsius as required by hwmon.
The temperature reported is per-radio (pdev). In a multi-radio wiphy under a
single phy, a separate hwmon device is created for each radio.

Sample command and output:
$ cat /sys/devices/pci0000:00/.../ieee80211/phyX/hwmonY/temp1_input
$ 50000

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.6-01243-QCAHKSWPL_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3

Co-developed-by: Aishwarya R <aishwarya.r@oss.qualcomm.com>
Signed-off-by: Aishwarya R <aishwarya.r@oss.qualcomm.com>
Signed-off-by: Maharaja Kennadyrajan <maharaja.kennadyrajan@oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20260223132622.43464-1-maharaja.kennadyrajan@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
During recovery of an MLO setup from a core reset,
ATH12K_GROUP_FLAG_REGISTERED is set because ath12k_mac_unregister is not
called during core reset. So, when an MLO setup is recovering from a core
reset, ath12k_core_mlo_setup() is skipped. Hence, the firmware will not
have information about partner links. This makes MLO association fail
after recovery.

To resolve this, call ath12k_core_mlo_setup() during recovery, to set up
MLO. Also, if MLO setup fails during recovery, call
ath12k_mac_unregister() and ath12k_mac_destroy() to unregister mac and
then tear down the mac structures.

Also, initiate MLO teardown in the hardware group stop sequence to align
with the hardware group start sequence.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.6-01181-QCAHKSWPL_SILICONZ-1

Signed-off-by: Ramya Gnanasekar <ramya.gnanasekar@oss.qualcomm.com>
Signed-off-by: Roopni Devanathan <roopni.devanathan@oss.qualcomm.com>
Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20260227041127.3265879-1-roopni.devanathan@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
Currently, rxdma1_enable and supports_monitor are set to false in
IPQ5332 hardware parameters, which skips monitor ring configuration
and removes NL80211_IFTYPE_MONITOR from the supported interface modes.

Set rxdma1_enable and supports_monitor to true so that monitor rings are
configured and monitor mode is enabled on IPQ5332.

Tested-on: IPQ5332 hw1.0 AHB WLAN.WBE.1.7-00587-QCAHKSWPL_SILICONZ-1

Signed-off-by: Aaradhana Sahu <aaradhana.sahu@oss.qualcomm.com>
Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20260227033332.687805-1-aaradhana.sahu@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
Currently, the Rx path uses new infrastructure to extract the required HAL
parameters. Consequently, the HAL Rx descriptor argument is no longer
needed in the following helper functions. Remove the unused argument from
the following helper functions.

ath12k_dp_rx_h_undecap()
ath12k_dp_rx_check_nwifi_hdr_len_valid()
ath12k_wifi7_dp_rx_h_mpdu()

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.6-01243-QCAHKSWPL_SILICONZ-1

Signed-off-by: Karthikeyan Periyasamy <karthikeyan.periyasamy@oss.qualcomm.com>
Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20260227042128.3494167-1-karthikeyan.periyasamy@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
…stats

To get firmware statistics, currently ar->pdev->pdev_id is passed as an
argument to ath12k_mac_get_fw_stats() in ath12k_mac_op_sta_statistics().
For single pdev device like WCN7850, its value is 0 which represents the
SoC pdev id. As a result, WCN7850 firmware sends the same reply to host
twice, which further results in memory leak:

  unreferenced object 0xffff88812e286000 (size 192):
  comm "softirq", pid 0, jiffies 4294981997
  hex dump (first 32 bytes):
    10 a5 40 11 81 88 ff ff 10 a5 40 11 81 88 ff ff  ..@.......@.....
    00 00 00 00 00 00 00 00 80 ff ff ff 33 05 00 00  ............3...
  backtrace (crc cecc8c82):
    __kmalloc_cache_noprof
    ath12k_wmi_tlv_fw_stats_parse
    ath12k_wmi_tlv_iter
    ath12k_wmi_op_rx
    ath12k_htc_rx_completion_handler
    ath12k_ce_per_engine_service
    ath12k_pci_ce_workqueue
    process_one_work
    bh_worker
    tasklet_action
    handle_softirqs

Detailed explanation is:

  1. ath12k_mac_get_fw_stats() called in ath12k_mac_op_sta_statistics() to
     get vdev statistics, making the caller thread wait.
  2. firmware sends the first reply, ath12k_wmi_tlv_fw_stats_data_parse()
     allocates buffers to cache necessary information. Following that, in
     ath12k_wmi_fw_stats_process() if events of all started vdev haved been
     received, is_end flag is set hence the waiting thread gets waken up by
     the ar->fw_stats_done/->fw_stats_complete signals.
  3. ath12k_mac_get_fw_stats() wakes up and returns successfully.
     ath12k_mac_op_sta_statistics() saves required parameters and calls
     ath12k_fw_stats_reset() to free buffers allocated earlier.
  4. firmware sends the second reply. As usual, buffers are allocated and
     attached to the ar->fw_stats.vdevs list. Note this time there is no
     thread waiting, therefore no chance to free those buffers.
  5. ath12k module gets unloaded. If there has been no more firmware
     statistics request made since step 4, or if the request fails (see
     the example in the following patch), there is no chance to call
     ath12k_fw_stats_reset(). Consequently those buffers leak.

Actually for single pdev device, using SoC pdev id in
ath12k_mac_op_sta_statistics() is wrong, because the purpose is to get
statistics of a specific station, which is mapped to a specific pdev. That
said, the id of actual individual pdev should be fetched and used instead.
The helper ath12k_mac_get_target_pdev_id() serves for this purpose, hence
use it to fix this issue. Note it also works for other devices as well due
to the single_pdev_only check inside.

The same applies to ath12k_mac_op_get_txpower() and
ath12k_mac_op_link_sta_statistics() as well.

Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3

Fixes: 79e7b04 ("wifi: ath12k: report station mode signal strength")
Fixes: e92c658 ("wifi: ath12k: add get_txpower mac ops")
Fixes: ebebe66 ("wifi: ath12k: fill link station statistics for MLO")
Signed-off-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20260129-ath12k-fw-stats-fixes-v1-1-55d66064f4d5@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
… from AP

In ath12k_wmi_tlv_fw_stats_data_parse() and
ath12k_wmi_tlv_rssi_chain_parse(), the driver uses
ieee80211_find_sta_by_ifaddr() to look up the station associated with the
incoming firmware statistics. This works under normal conditions but fails
during AP disconnection, resulting in log messages like:

 wlan0: deauthenticating from xxxxxx by local choice (Reason: 3=DEAUTH_LEAVING)
 wlan0: moving STA xxxxxx to state 3
 wlan0: moving STA xxxxxx to state 2
 wlan0: moving STA xxxxxx to state 1
 ath12k_pci 0000:02:00.0: not found station bssid xxxxxx for vdev stat
 ath12k_pci 0000:02:00.0: not found station of bssid xxxxxx for rssi chain
 ath12k_pci 0000:02:00.0: failed to pull fw stats: -71
 ath12k_pci 0000:02:00.0: time out while waiting for get fw stats
 wlan0: Removed STA xxxxxx
 wlan0: Destroyed STA xxxxxx

The failure happens because the station has already been removed from
ieee80211_local::sta_hash by the time firmware statistics are requested
through drv_sta_statistics().

Switch the lookup to ath12k_link_sta_find_by_addr(), which searches the
driver's link station hash table that still has the station recorded
at that time.  This also implicitly fixes another issue: the current code
always uses deflink regardless of which link the statistics belong to,
which is incorrect in MLO scenarios. The new helper returns the correct
link station.

Additionally, raise the log level on lookup failures. With the updated
helper, such failures should no longer occur under normal conditions.

Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3

Fixes: 79e7b04 ("wifi: ath12k: report station mode signal strength")
Fixes: 6af5bc3 ("wifi: ath12k: report station mode per-chain signal strength")
Signed-off-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20260129-ath12k-fw-stats-fixes-v1-2-55d66064f4d5@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
Daniel Lezcano and others added 10 commits August 5, 2026 09:13
The QMI framework proposes a set of services which are defined by an
integer identifier. The different QMI client lookup for the services
via this identifier. Moreover, the function qmi_add_lookup() and
qmi_add_server() must match the service ID but the code in different
places set the same value but with a different macro name. These
macros are spreaded across the different subsystems implementing the
protocols associated with a service. It would make more sense to
define them in the QMI header for the sake of consistency and clarity.

This change use an unified naming for the services and enumerate the
ones implemented in the Linux kernel. More services can come later and
put the service ID in this same header.

Signed-off-by: Daniel Lezcano <daniel.lezcano@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260309230346.3584252-2-daniel.lezcano@oss.qualcomm.com
[bjorn: Lower case hex constants]
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
…cted event from mac80211/driver

When any incumbent signal is detected by an AP/mesh interface operating
in 6 GHz band, FCC mandates the AP/mesh to vacate the channels affected
by it [1].

Add a new API cfg80211_incumbent_signal_notify() that can be used
by mac80211 or drivers to notify the higher layers about the signal
interference event with the interference bitmap in which each bit
denotes the affected 20 MHz in the operating channel.

Add support for the new nl80211 event and nl80211 attribute as well to
notify userspace on the details about the interference event. Userspace is
expected to process it and take further action - vacate the channel, or
reduce the bandwidth.

[1] - https://apps.fcc.gov/kdb/GetAttachment.html?id=nXQiRC%2B4mfiA54Zha%2BrW4Q%3D%3D&desc=987594%20D02%20U-NII%206%20GHz%20EMC%20Measurement%20v03&tracking_number=277034

Signed-off-by: Hari Chandrakanthan <quic_haric@quicinc.com>
Signed-off-by: Amith A <amith.a@oss.qualcomm.com>
Link: https://patch.msgid.link/20260216032027.2310956-2-amith.a@oss.qualcomm.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
…023_xmit()

Currently ieee80211_8023_xmit() accesses the sta pointer without any
sanity check, assuming that only unicast packets for an authorized
station are processed. But the sta pointer could become NULL when
a framework to support 802.3 offload for the multicast packets is
added in the follow-up patches. Add the valid sta pointer sanity
check to avoid the invalid pointer access.

This aligns with some of the subordinate functions called by
ieee80211_8023_xmit() that already NULL-check 'sta' such as
ieee80211_select_queue() and ieee80211_aggr_check().

Signed-off-by: Tamizh Chelvam Raja <tamizh.raja@oss.qualcomm.com>
Link: https://patch.msgid.link/20260604162403.1563729-2-tamizh.raja@oss.qualcomm.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
…path

mac80211 already supports multicast-to-unicast conversion for
native 802.11 TX paths, but this handling is missing for the
802.3 transmit path. Due to that the packet never converted to
unicast and directly pass it to 802.11 Tx path by checking the
destination address as multicast.

Extend ieee80211_subif_start_xmit_8023() to honor the
multicast_to_unicast setting by cloning and converting multicast
Ethernet frames into per-station unicast transmissions, following
the same behavior of the native 802.11 TX path and allow it
to take 802.3 path.

Signed-off-by: Tamizh Chelvam Raja <tamizh.raja@oss.qualcomm.com>
Link: https://patch.msgid.link/20260604162403.1563729-3-tamizh.raja@oss.qualcomm.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
…upport

mac80211 converts 802.3 multicast packets to 802.11 format
before driver TX, even when Ethernet encapsulation offload
is enabled. This prevents drivers that support multicast
Ethernet encapsulation offload from receiving frames in
native 802.3 format.

Introduce the IEEE80211_OFFLOAD_ENCAP_MCAST flag to bypass the
802.11 encapsulation step and pass the multicast packet to the
driver in 802.3 format. Drivers that support multicast Ethernet
encapsulation offload can advertise this flag.

Disable multicast encapsulation offload in MLO case for drivers not
advertising MLO_MCAST_MULTI_LINK_TX support for AP mode and for
3-address AP_VLAN multicast packets.

Signed-off-by: Tamizh Chelvam Raja <tamizh.raja@oss.qualcomm.com>
Link: https://patch.msgid.link/20260604162403.1563729-4-tamizh.raja@oss.qualcomm.com
[fix unlikely(), indentation]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
In multi-radio wiphy architecture, where a single wiphy can have
multiple radios tied to it, radio specific configuration parameters
and global wiphy parameters are maintained for the entire physical
device and common to all radios. But, each radio in a wiphy can have
different values for each radio configuration parameter, like RTS
threshold. With the current debugfs directory structure, the values
of global wiphy configuration parameters can be viewed, but, values
of individual radio configuration parameters cannot be viewed, as
radio specific configuration parameters are not maintained, separately.

To address this, in addition to maintaining global wiphy configuration
parameters common to all radios, create separate debugfs directories
for each radio in a wiphy to maintain parameters corresponding to that
radio in this directory.

In implementation, maintain a dentry structure in wiphy_radio_cfg, a
structure  containing radio configurations of a wiphy. This struct is
maintained to denote per-radio configurations of a wiphy. Create
separate directories representing each radio within phy#X directory in
debugfs during wiphy registration.

Sample directory structure with this change:
ls /sys/kernel/debug/ieee80211/phy0/radio
radio0/ radio1/ radio2/

Signed-off-by: Roopni Devanathan <quic_rdevanat@quicinc.com>
Link: https://patch.msgid.link/20251024044649.483557-2-quic_rdevanat@quicinc.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
…rectories

In multi-radio wiphy architecture, where a single wiphy can have
multiple radios tied to it, radio specific configuration parameters
and global wiphy parameters are maintained for the entire physical
device and common to all radios. But, each radio in a wiphy can
have different values for each radio configuration parameter like
RTS threshold. With the current debugfs directory structure, the
values of global wiphy configuration parameters can be viewed, but,
values of individual radio configuration parameters cannot be viewed.

To address this requirement, maintain separate entries of each radio
configuration parameter i.e., RTS threshold in corresponding radio-
specific debugfs directory. This way, radio-specific configuration
parameters can be maintained along with global wiphy configuration
parameters. Whenever the values are changed for one radio, the values
for rest of the radios in the wiphy and the global wiphy parameter
value will remain intact.

Sample output:
/# iw phy#0 set rts 100 radio 1
/# iw phy#0 set rts 468 radio 0
/# cat /sys/kernel/debug/ieee80211/phy0/rts_threshold
-1
/# cat /sys/kernel/debug/ieee80211/phy0/radio0/radio_rts_threshold
468
/# cat /sys/kernel/debug/ieee80211/phy0/radio1/radio_rts_threshold
100

/# iw phy#0 set rts 500
/# cat /sys/kernel/debug/ieee80211/phy0/rts_threshold
500
/# cat /sys/kernel/debug/ieee80211/phy0/radio0/radio_rts_threshold
500
/# cat /sys/kernel/debug/ieee80211/phy0/radio1/radio_rts_threshold
500

Signed-off-by: Roopni Devanathan <quic_rdevanat@quicinc.com>
Link: https://patch.msgid.link/20251024044649.483557-3-quic_rdevanat@quicinc.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
…to cfg80211

Export michael_mic() so that the ath11k and ath12k drivers can call it.
In addition, move it from mac80211 to cfg80211 so that the ipw2x00
drivers, which depend on cfg80211 but not mac80211, can also call it.

Currently these drivers have their own local implementations of
michael_mic() based on crypto_shash, which is redundant and inefficient.
By consolidating all the Michael MIC code into cfg80211, we'll be able
to remove the duplicate Michael MIC code in the crypto/ directory.

Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Link: https://patch.msgid.link/20260408030651.80336-3-ebiggers@kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
…SOC_GLOBAL_RESET

ath12k_pci_soc_global_reset() tries to reset the device by writing to the
PCIE_SOC_GLOBAL_RESET register. But it doesn't do a read-back to ensure
that the write gets flushed to the device before the delay.

This may lead to the delay on the host to be insufficient, if the posted
write doesn't reach the device before the delay.

So add a read-back after writing to the PCIE_SOC_GLOBAL_RESET register and
before the delay.

Compile tested only.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.6-01243-QCAHKSWPL_SILICONZ-1

Fixes: d889913 ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
Reported-by: Alex Williamson <alex@shazbot.org>
Closes: https://lore.kernel.org/linux-pci/20260622160822.09350246@shazbot.org
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Reviewed-by: Raj Kumar Bhagat <raj.bhagat@oss.qualcomm.com>
Tested-by: Raj Kumar Bhagat <raj.bhagat@oss.qualcomm.com>
Link: https://patch.msgid.link/20260623141649.41087-2-manivannan.sadhasivam@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
…estroy

When unbinding the ath12k driver, kernel NULL pointer dereferences
occur in irq_work_sync() called from rhashtable_destroy().

Two hash tables are affected:
1. ath12k_link_sta hash table in ath12k_base
2. ath12k_dp_link_peer hash table in ath12k_dp

The issue happens because the destroy functions are called unconditionally
in cleanup paths, but the hash tables are only initialized late in their
respective init functions. If the device was never fully started or if the
init functions failed before initializing the hash tables, the pointers
will be NULL. The issues are always reproducible from a VM because the MSI
addressing initialization is failing.

Call trace for ath12k_link_sta_rhash_tbl_destroy:
 RIP: irq_work_sync+0x1e/0x70
 rhashtable_destroy+0x12/0x60
 ath12k_link_sta_rhash_tbl_destroy+0x19/0x40 [ath12k]
 ath12k_core_stop+0xe/0x80 [ath12k]
 ath12k_core_hw_group_cleanup+0x6b/0xb0 [ath12k]
 ath12k_pci_remove+0x60/0x110 [ath12k]

Call trace for ath12k_dp_link_peer_rhash_tbl_destroy:
 RIP: irq_work_sync+0x1e/0x70
 rhashtable_destroy+0x12/0x60
 ath12k_dp_link_peer_rhash_tbl_destroy+0x29/0x50 [ath12k]
 ath12k_dp_cmn_device_deinit+0x21/0x140 [ath12k]
 ath12k_core_hw_group_cleanup+0x6b/0xb0 [ath12k]
 ath12k_pci_remove+0x60/0x110 [ath12k]

Fix this by adding NULL checks before calling rhashtable_destroy() in
both destroy functions.

The NULL check approach was chosen because the rhashtable pointer
serves as the initialization state indicator. The init can fail at
various points, leaving some components uninitialized. Checking the
pointer directly is simpler than adding separate state flags that
would need synchronization.

Fixes: 57ccca4 ("wifi: ath12k: Add hash table for ath12k_link_sta in ath12k_base")
Fixes: a88cf5f ("wifi: ath12k: Add hash table for ath12k_dp_link_peer")
Cc: stable@vger.kernel.org
Signed-off-by: Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20260615112103.601982-1-jtornosm@redhat.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

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

Entities:

  • kernel.qli.2.0

CR: 4626161

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

@qcomlnxci
qcomlnxci requested a review from a team August 5, 2026 01:19
@qlijarvis

Copy link
Copy Markdown

PR #874 — validate-patch

PR: #874

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/r/20260309230346.3584252-2-daniel.lezcano@oss.qualcomm.com
  2. Lore link matches PR commits: Yes — diff content is faithful to lore with one documented style adaptation (hex constant case)
  3. Upstream patch status: ✅ ACKed — Applied by Bjorn Andersson (maintainer) with Reviewed-by: Dmitry Baryshkov; merged into maintainer tree
  4. PR present in qcom-next/topics: Partial - 4/103 commit(s) only have partial integration evidence

Note: This PR contains 103 commits total. Only commit 94/103 has a lore link and was validated against upstream. The remaining 102 commits were not validated as part of this analysis since no lore links were provided for them in the local evidence directory.

Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #874 (103 commits)
Focus: Commit 94/103 - UPSTREAM: soc: qcom: qmi: Enumerate the service IDs of QMI
Upstream commit: https://lore.kernel.org/r/20260309230346.3584252-2-daniel.lezcano@oss.qualcomm.com
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream Identical with UPSTREAM: prefix added
Body preserves rationale Full rationale preserved verbatim
Fixes tag present/correct N/A No Fixes tag in upstream (new feature)
Authorship preserved Daniel Lezcano correctly preserved as author
Backport note (if applicable) [bjorn: Lower case hex constants] documents the adaptation

Diff

File Status Notes
include/linux/soc/qcom/qmi.h Faithful with documented adaptation: hex constants changed from uppercase (0x0F, 0x2B, 0x41D) to lowercase (0x0f, 0x2b, 0x41d) per maintainer preference

Issues

None. The adaptation (lowercase hex constants) is explicitly documented in the commit message with [bjorn: Lower case hex constants], which is the correct way to handle maintainer-requested style changes during integration.

Verdict

Merge as-is. This is a clean, faithful backport of an accepted upstream patch with a single, well-documented style adaptation requested by the maintainer.

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/r/20260309230346.3584252-2-daniel.lezcano@oss.qualcomm.com
  2. Lore link matches PR commits: Yes — diff content is faithful to lore with one documented style adaptation (hex constant case)
  3. Upstream patch status: ✅ ACKed — Applied by Bjorn Andersson (maintainer) with Reviewed-by: Dmitry Baryshkov; merged into maintainer tree
  4. PR present in qcom-next/topics: Yes — exact patch-id match at e4ee762 in qcom-next

Note: This PR contains 103 commits total. Only commit 94/103 has a lore link and was validated against upstream. The remaining 102 commits were not validated as part of this analysis since no lore links were provided for them in the local evidence directory.

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: 8d5dbc1b17adf8fe86a41adcda686785e73f5414
topics remote: topics -> https://github.com/qualcomm-linux/kernel-topics
topics fetch: fetched

Commit Subject qcom-next topics Final
1/103 [PATCH 001/103] UPSTREAM: wifi: ath11k: fix comment typo in monitor present - exact patch-id match at 9269caf skipped - not checked because qcom-next already contains the change present
2/103 [PATCH 002/103] UPSTREAM: wifi: mac80211: fetch FILS discovery present - exact patch-id match at 0495b64 skipped - not checked because qcom-next already contains the change present
3/103 [PATCH 003/103] UPSTREAM: wifi: mac80211: fetch unsolicited probe present - exact patch-id match at e098c26 skipped - not checked because qcom-next already contains the change present
4/103 [PATCH 004/103] UPSTREAM: wifi: ath12k: fix indentation in present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
5/103 [PATCH 005/103] UPSTREAM: wifi: ath12k: add basic hwmon temperature present - exact patch-id match at 151322b skipped - not checked because qcom-next already contains the change present
6/103 [PATCH 006/103] UPSTREAM: wifi: ath12k: Set up MLO after SSR present - exact patch-id match at f33a8e4 skipped - not checked because qcom-next already contains the change present
7/103 [PATCH 007/103] UPSTREAM: wifi: ath12k: Enable monitor mode support present - exact patch-id match at 80a1147 skipped - not checked because qcom-next already contains the change present
8/103 [PATCH 008/103] UPSTREAM: wifi: ath12k: Remove the unused argument partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
9/103 [PATCH 009/103] UPSTREAM: wifi: ath12k: use correct pdev id when present - exact patch-id match at 8f153eb skipped - not checked because qcom-next already contains the change present
10/103 [PATCH 010/103] UPSTREAM: wifi: ath12k: fix station lookup failure present - exact patch-id match at 7259b1a skipped - not checked because qcom-next already contains the change present
11/103 [PATCH 011/103] UPSTREAM: wifi: ath12k: account TX stats only when present - exact patch-id match at 1635ecc skipped - not checked because qcom-next already contains the change present
12/103 [PATCH 012/103] UPSTREAM: wifi: ath12k: Fix the assignment of logical present - exact patch-id match at aecb569 skipped - not checked because qcom-next already contains the change present
13/103 [PATCH 013/103] UPSTREAM: wifi: ath12k: Fix legacy rate mapping for present - exact patch-id match at 616217a skipped - not checked because qcom-next already contains the change present
14/103 [PATCH 014/103] UPSTREAM: wifi: ath12k: Use .mbn firmware for AHB present - exact patch-id match at 27401c9 skipped - not checked because qcom-next already contains the change present
15/103 [PATCH 015/103] UPSTREAM: wifi: ath12k: Clean up the WMI Unit Test present - exact patch-id match at e570593 skipped - not checked because qcom-next already contains the change present
16/103 [PATCH 016/103] UPSTREAM: wifi: ath12k: Remove unused DFS Unit Test present - exact patch-id match at 7bbb578 skipped - not checked because qcom-next already contains the change present
17/103 [PATCH 017/103] UPSTREAM: wifi: ath12k: Pass the correct value of present - exact patch-id match at 4242625 skipped - not checked because qcom-next already contains the change present
18/103 [PATCH 018/103] UPSTREAM: wifi: ath12k: Rename hw_link_id to present - exact patch-id match at ba56328 skipped - not checked because qcom-next already contains the change present
19/103 [PATCH 019/103] UPSTREAM: wifi: ath12k: Support channel change stats present - exact patch-id match at af5708e skipped - not checked because qcom-next already contains the change present
20/103 [PATCH 020/103] UPSTREAM: wifi: ath12k: Skip adding inactive partner present - exact patch-id match at 7d7dc26 skipped - not checked because qcom-next already contains the change present
21/103 [PATCH 021/103] UPSTREAM: wifi: ath12k: Create symlink for each radio present - exact patch-id match at 0ec4b90 skipped - not checked because qcom-next already contains the change present
22/103 [PATCH 022/103] UPSTREAM: wifi: ath12k: Add ath12k_hw_params for present - exact patch-id match at b1ad1a0 skipped - not checked because qcom-next already contains the change present
23/103 [PATCH 023/103] UPSTREAM: wifi: ath12k: add ath12k_hw_version_map present - exact patch-id match at 74f5a61 skipped - not checked because qcom-next already contains the change present
24/103 [PATCH 024/103] UPSTREAM: wifi: ath12k: add ath12k_hw_regs for present - exact patch-id match at 7e2131b skipped - not checked because qcom-next already contains the change present
25/103 [PATCH 025/103] UPSTREAM: wifi: ath12k: Add CE remap hardware present - exact patch-id match at 38cff74 skipped - not checked because qcom-next already contains the change present
26/103 [PATCH 026/103] UPSTREAM: wifi: ath12k: Enable IPQ5424 WiFi device present - exact patch-id match at 8fb6693 skipped - not checked because qcom-next already contains the change present
27/103 [PATCH 027/103] UPSTREAM: wifi: ath12k: Use michael_mic() from present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
28/103 [PATCH 028/103] UPSTREAM: wifi: ath12k: avoid dynamic alloc when present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
29/103 [PATCH 029/103] UPSTREAM: wifi: ath12k: Fix HTC prototype ath12k_base present - exact patch-id match at a49300a skipped - not checked because qcom-next already contains the change present
30/103 [PATCH 030/103] UPSTREAM: wifi: ath12k: Fix present - exact patch-id match at 90ef329 skipped - not checked because qcom-next already contains the change present
31/103 [PATCH 031/103] UPSTREAM: wifi: ath12k: Remove macro present - exact patch-id match at 5c2ab62 skipped - not checked because qcom-next already contains the change present
32/103 [PATCH 032/103] UPSTREAM: wifi: ath12k: Fix invalid IRQ requests present - exact patch-id match at 590182b skipped - not checked because qcom-next already contains the change present
33/103 [PATCH 033/103] UPSTREAM: wifi: ath12k: fix OF node refcount present - exact patch-id match at f3ba9e0 skipped - not checked because qcom-next already contains the change present
34/103 [PATCH 034/103] UPSTREAM: wifi: ath12k: use present - exact patch-id match at 4498664 skipped - not checked because qcom-next already contains the change present
35/103 [PATCH 035/103] UPSTREAM: wifi: ath12k: fix leak in some present - exact patch-id match at 05c5078 skipped - not checked because qcom-next already contains the change present
36/103 [PATCH 036/103] UPSTREAM: wifi: ath12k: initialize RSSI dBm present - exact patch-id match at 81594a1 skipped - not checked because qcom-next already contains the change present
37/103 [PATCH 037/103] UPSTREAM: wifi: ath: Use the unified QMI service ID present - exact patch-id match at 0e39eea skipped - not checked because qcom-next already contains the change present
38/103 [PATCH 038/103] UPSTREAM: wifi: ath: Unify user-visible "Qualcomm" present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
39/103 [PATCH 039/103] UPSTREAM: wifi: ath12k: Handle DP_RX_DECAP_TYPE_8023 present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
40/103 [PATCH 040/103] UPSTREAM: wifi: ath12k: use kzalloc_flex partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
41/103 [PATCH 041/103] UPSTREAM: wifi: ath12k: unify error handling in some present - exact patch-id match at 31d4f8d skipped - not checked because qcom-next already contains the change present
42/103 [PATCH 042/103] UPSTREAM: wifi: ath12k: handle thermal throttle stats present - exact patch-id match at 845b613 skipped - not checked because qcom-next already contains the change present
43/103 [PATCH 043/103] UPSTREAM: wifi: ath12k: configure firmware thermal present - exact patch-id match at 612556e skipped - not checked because qcom-next already contains the change present
44/103 [PATCH 044/103] UPSTREAM: wifi: ath12k: refactor per-radio thermal present - exact patch-id match at cd93e8c skipped - not checked because qcom-next already contains the change present
45/103 [PATCH 045/103] UPSTREAM: wifi: ath12k: reorder group start/stop for present - exact patch-id match at 0ab4dc0 skipped - not checked because qcom-next already contains the change present
46/103 [PATCH 046/103] UPSTREAM: wifi: ath12k: add thermal cooling device present - exact patch-id match at e12d2d3 skipped - not checked because qcom-next already contains the change present
47/103 [PATCH 047/103] UPSTREAM: wifi: ath12k: Add support for handling present - exact patch-id match at e7f9be2 skipped - not checked because qcom-next already contains the change present
48/103 [PATCH 048/103] UPSTREAM: wifi: ath12k: Add debugfs support to present - exact patch-id match at afa1bd8 skipped - not checked because qcom-next already contains the change present
49/103 [PATCH 049/103] UPSTREAM: wifi: ath12k: fix error unwind on present - exact patch-id match at d5c3361 skipped - not checked because qcom-next already contains the change present
50/103 [PATCH 050/103] UPSTREAM: wifi: ath12k: fix incorrect HT/VHT/HE/EHT present - exact patch-id match at 10085a6 skipped - not checked because qcom-next already contains the change present
51/103 [PATCH 051/103] UPSTREAM: wifi: ath12k: add hardware parameters for present - exact patch-id match at 05337d0 skipped - not checked because qcom-next already contains the change present
52/103 [PATCH 052/103] UPSTREAM: wifi: ath12k: Prevent incorrect vif chanctx partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
53/103 [PATCH 053/103] UPSTREAM: wifi: ath12k: Set WDS vdev parameter for present - exact patch-id match at e1125b0 skipped - not checked because qcom-next already contains the change present
54/103 [PATCH 054/103] UPSTREAM: wifi: ath12k: Add support for 4-address present - exact patch-id match at 2f57f73 skipped - not checked because qcom-next already contains the change present
55/103 [PATCH 055/103] UPSTREAM: wifi: ath12k: Add 4-address mode support present - exact patch-id match at 729cad3 skipped - not checked because qcom-next already contains the change present
56/103 [PATCH 056/103] UPSTREAM: wifi: ath12k: Add support for 4-address present - exact patch-id match at 6d0572f skipped - not checked because qcom-next already contains the change present
57/103 [PATCH 057/103] UPSTREAM: wifi: ath12k: Add support for 4-address present - exact patch-id match at f818260 skipped - not checked because qcom-next already contains the change present
58/103 [PATCH 058/103] UPSTREAM: wifi: ath12k: Handle 4-address EAPOL frames present - exact patch-id match at 565257a skipped - not checked because qcom-next already contains the change present
59/103 [PATCH 059/103] UPSTREAM: wifi: ath12k: Update Qualcomm copyrights present - exact patch-id match at 1c316d0 skipped - not checked because qcom-next already contains the change present
60/103 [PATCH 060/103] UPSTREAM: wifi: ath12k: enable present - exact patch-id match at 63abe29 skipped - not checked because qcom-next already contains the change present
61/103 [PATCH 061/103] UPSTREAM: wifi: cfg80211: remove partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 8444244 present
62/103 [PATCH 062/103] UPSTREAM: wifi: ath12k: Fix inconsistencies in struct partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at c29d155 present
63/103 [PATCH 063/103] UPSTREAM: wifi: ath12k: use %u for unsigned variables missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 26d529b present
64/103 [PATCH 064/103] UPSTREAM: wifi: ath12k: remove unused QMI definitions missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 007b638 present
65/103 [PATCH 065/103] UPSTREAM: wifi: ath12k: avoid setting 320MHz support partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at eaf478b present
66/103 [PATCH 066/103] UPSTREAM: wifi: ath12k: expand UserPD ID mask to missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at c2d60ab present
67/103 [PATCH 067/103] UPSTREAM: wifi: ath12k: reset REOQ LUT addresses partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at fe2b006 present
68/103 [PATCH 068/103] UPSTREAM: wifi: ath12k: advertise ieee_link_id in partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
69/103 [PATCH 069/103] UPSTREAM: wifi: ath12k: Advertise multicast Ethernet partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at e47d6c9 present
70/103 [PATCH 070/103] UPSTREAM: wifi: ath12k: Use runtime device count in missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 34620d1 present
71/103 [PATCH 071/103] UPSTREAM: wifi: ath12k: Add timestamp to dp stats partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 6cc84fc present
72/103 [PATCH 072/103] UPSTREAM: wifi: ath12k: Show per-radio center freq in partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at b1d8d62 present
73/103 [PATCH 073/103] UPSTREAM: wifi: ath12k: Skip setting RX_FLAG_8023 for missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 5a2b5d6 present
74/103 [PATCH 074/103] UPSTREAM: wifi: ath12k: Skip peer link info update in missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 56f8f12 present
75/103 [PATCH 075/103] UPSTREAM: wifi: ath12k: correct monitor destination missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 913998f present
76/103 [PATCH 076/103] UPSTREAM: wifi: ath12k: Switch to generic PAS TZ APIs missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at d418509 present
77/103 [PATCH 077/103] UPSTREAM: wifi: ath12k: fix dp_link_peer dangling partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at f066e1a present
78/103 [PATCH 078/103] UPSTREAM: wifi: ath12k: fix MLO peer delete race partial - subject or partial tree evidence found, but full change was not verified partial - subject or partial tree evidence found, but full change was not verified partial
79/103 [PATCH 079/103] UPSTREAM: wifi: ath12k: Fix ath12k_wifi7_mac_op_tx() partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 6385fd0 present
80/103 [PATCH 080/103] UPSTREAM: wifi: ath12k: Reduce RX SRNG interrupt missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 6b31c34 present
81/103 [PATCH 081/103] UPSTREAM: wifi: ath12k: add QMI capability partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at b93c1dc present
82/103 [PATCH 082/103] UPSTREAM: wifi: ath12k: Set partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at be72d6a present
83/103 [PATCH 083/103] UPSTREAM: wifi: ath12k: update IPQ5332 BDF address missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 408ec3f present
84/103 [PATCH 084/103] UPSTREAM: wifi: ath12k: Set congestion control max partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at e23d90c present
85/103 [PATCH 085/103] UPSTREAM: wifi: ath12k: switch to name-based reserved partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 3fe59ed present
86/103 [PATCH 086/103] UPSTREAM: wifi: ath12k: refactor QMI memory partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at ecb517f present
87/103 [PATCH 087/103] UPSTREAM: wifi: ath12k: allocate HOST_DDR and BDF partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 42399be present
88/103 [PATCH 088/103] UPSTREAM: wifi: ath12k: Correctly copy the hint BSSID missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at 7b0bd40 present
89/103 [PATCH 089/103] UPSTREAM: wifi: ath12k: fix scan command endianness partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 6c90f68 present
90/103 [PATCH 090/103] UPSTREAM: wifi: ath12k: Constify struct missing - no subject, patch-id, or full tree-content match found present - exact patch-id match at d6850f1 present
91/103 [PATCH 091/103] UPSTREAM: wifi: ath12k: Set DTIM policy to stick mode partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at df55c4b present
92/103 [PATCH 092/103] UPSTREAM: wifi: ath12k: fix survey indexing across partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
93/103 [PATCH 093/103] UPSTREAM: wifi: ath12k: Avoid buffer overread in partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 7698656 present
94/103 [PATCH 094/103] UPSTREAM: soc: qcom: qmi: Enumerate the service IDs present - exact patch-id match at e4ee762 skipped - not checked because qcom-next already contains the change present
95/103 [PATCH 095/103] UPSTREAM: wifi: cfg80211: add support to handle present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
96/103 [PATCH 096/103] UPSTREAM: wifi: mac80211: Add sta pointer sanity present - exact patch-id match at 303f11f skipped - not checked because qcom-next already contains the change present
97/103 [PATCH 097/103] UPSTREAM: wifi: mac80211: Add multicast to unicast present - exact patch-id match at 2307b36 skipped - not checked because qcom-next already contains the change present
98/103 [PATCH 098/103] UPSTREAM: wifi: mac80211: Add 802.3 multicast present - all checked added lines are present skipped - not checked because qcom-next already contains the change present
99/103 [PATCH 099/103] UPSTREAM: wifi: cfg80211: Add debugfs support for present - exact patch-id match at 7cc986c skipped - not checked because qcom-next already contains the change present
100/103 [PATCH 100/103] UPSTREAM: wifi: cfg80211: Add parameters to present - exact patch-id match at 88de083 skipped - not checked because qcom-next already contains the change present
101/103 [PATCH 101/103] UPSTREAM: wifi: mac80211, cfg80211: Export present - exact patch-id match at 613c837 skipped - not checked because qcom-next already contains the change present
102/103 [PATCH 102/103] UPSTREAM: wifi: ath12k: Flush the posted write after partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 55f3aa0 present
103/103 [PATCH 103/103] UPSTREAM: wifi: ath12k: fix NULL pointer dereference partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 70231dc present

Final Status

overall_status: PARTIAL
present_commits: 99/103
partial_commits: 4/103
missing_commits: 0/103
topics_checked_for_commits: 38/103
final_summary: PR present in qcom-next/topics: Partial - 4/103 commit(s) only have partial integration evidence

@qlijarvis

Copy link
Copy Markdown

PR #874 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch ⚠️ 33 commits with style warnings (mostly commit message line length)
dt-binding-check ⏭️ Skipped - no DT binding changes
dtb-check ⏭️ Skipped - no devicetree changes
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 10 commits with content mismatch vs upstream
tag-check All 103 commits have valid UPSTREAM: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #874 - WiFi driver updates (103 commits)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30966035226
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch ⚠️ 33 commits with style warnings (mostly commit message line length)
dt-binding-check ⏭️ Skipped - no DT binding changes
dtb-check ⏭️ Skipped - no devicetree changes
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 10 commits with content mismatch vs upstream
tag-check All 103 commits have valid UPSTREAM: prefix

⚠️ checkpatch

Root cause: 33 commits have commit message body lines exceeding 75 characters, plus minor style warnings.

Failure details:
Most warnings are COMMIT_LOG_LONG_LINE:

WARNING: Prefer a maximum 75 chars per line (possible unwrapped commit description?)

Additional warnings:

  • DT compatible string "qcom,ipq5424-wifi" appears un-documented (commit c3407f1)
  • Unknown commit id warnings (expected for upstream commits not yet in tree)
  • nested (un)?likely() calls (commit 1ac1dbd)
  • 'spreaded' may be misspelled (commit 749270c)

Fix: These are non-blocking style warnings. The commit message line length warnings are cosmetic and acceptable for upstream commits. The unknown commit ID warnings are expected when backporting upstream patches.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git <base>..<head>

❌ check-patch-compliance

Root cause: 10 commits have content differences compared to their upstream lore.kernel.org links.

Failure details:
The following commits failed content matching:

  1. 0441716f7840 - "UPSTREAM: wifi: ath12k: fix indentation in ath12k_qmi_aux_uc_load()"
  2. 07b3bd5b8234 - "UPSTREAM: wifi: ath12k: avoid dynamic alloc when parsing wmi tb"
  3. c50c83f94337 - "UPSTREAM: wifi: ath: Unify user-visible "Qualcomm" name"
  4. 0e7ec2524112 - "UPSTREAM: wifi: ath12k: use kzalloc_flex"
  5. 71857e978788 - "UPSTREAM: wifi: ath12k: Prevent incorrect vif chanctx switch when handling multi-radio contexts"
  6. 43198e7a9df2 - "UPSTREAM: wifi: ath12k: advertise ieee_link_id in vdev start MLO params"
  7. 78e40f6c0585 - "UPSTREAM: wifi: ath12k: fix MLO peer delete race"
  8. 91774a7a298e - "UPSTREAM: wifi: ath12k: fix survey indexing across bands"
  9. 749270c39a7f - "UPSTREAM: soc: qcom: qmi: Enumerate the service IDs of QMI"
  10. 1ac1dbd68f10 - "UPSTREAM: wifi: mac80211: Add 802.3 multicast encapsulation offload support"

Fix: For each commit, verify the content difference:

# Fetch the upstream patch
b4 am --single-message -C -l -3 <link-from-commit-message> -o /tmp/upstream

# Compare with local commit
git format-patch -1 <sha> --stdout > /tmp/local.patch
diff <(grep -E '^[+-][^+-]' /tmp/local.patch | grep -v '^---' | grep -v '^+++') \
     <(grep -E '^[+-][^+-]' /tmp/upstream/*.mbx | grep -v '^---' | grep -v '^+++')

If differences are:

  • Context-only shifts → Not a real issue, checker limitation
  • Legitimate adaptations (e.g., for backport) → Document in commit message
  • Missing/extra hunks → Fix the commit to match upstream exactly

Reproduce locally:

./scripts/check-patch-compliance.sh --base <base_sha> --head <head_sha>

Verdict

33 style warnings + 10 content mismatches to review before merge.

Blockers:

  • The 10 check-patch-compliance content mismatches should be investigated. If these are legitimate backport adaptations, they should be documented in the commit messages. If they are unintended differences, the commits should be corrected to match upstream exactly.

Non-blockers:

  • The 33 checkpatch warnings are cosmetic (commit message line length) and acceptable for upstream commits.
  • All commits have proper UPSTREAM: prefix tags as required for the qcom-6.18.y branch.
  • No DT, sparse, or UAPI issues detected.

Recommendation: Review the 10 commits with content mismatches. If the differences are intentional backport adaptations, add a note in each commit message explaining the deviation. If unintended, correct the commits to match upstream.

@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 shikra-iqs-evk-multimedia
Audio_Card_Registration ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ◻️ ⚠️ skip ◻️
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 ❌ Fail ◻️ ✅ Pass ◻️
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️ ✅ 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 ✅ Pass ✅ Pass ✅ Pass ❌ Fail ❌ Fail ◻️ ❌ Fail ◻️
WiFi_Firmware_Driver ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
WiFi_OnOff ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
gpdsp_remoteproc ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ◻️ ✅ 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 ❌ Fail ✅ Pass ❌ Fail ✅ Pass ◻️ ❌ Fail ◻️
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️

@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 shikra-iqs-evk-multimedia
Audio_Card_Registration ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ◻️ ⚠️ skip ◻️
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 ❌ Fail ◻️ ✅ Pass ◻️
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ◻️ ✅ 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 ✅ Pass ✅ Pass ✅ Pass ❌ Fail ❌ Fail ◻️ ❌ Fail ◻️
WiFi_Firmware_Driver ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
WiFi_OnOff ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
gpdsp_remoteproc ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ◻️ ✅ 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 ❌ Fail ✅ Pass ❌ Fail ✅ Pass ◻️ ❌ Fail ◻️
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️ ✅ Pass ◻️

@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 shikra-iqs-evk-multimedia
Audio_Card_Registration ✅ Pass ✅ Pass ✅ Pass ⚠️ skip ✅ Pass ⚠️ skip ⚠️ skip ◻️
BT_FW_KMD_Service ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
BT_ON_OFF ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
BT_SCAN ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
CPUFreq_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
CPU_affinity ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
DSP_AudioPD ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Ethernet ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ⚠️ skip ◻️
Freq_Scaling ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️
GIC ✅ Pass ✅ Pass ✅ Pass ✅ Pass ❌ Fail ✅ Pass ✅ Pass ◻️
IPA ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Interrupts ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
OpenCV ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
PCIe ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
Probe_Failure_Check ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️
RMNET ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
UFS_Validation ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
USBHost ✅ Pass ✅ Pass ✅ Pass ❌ Fail ❌ Fail ❌ Fail ❌ Fail ◻️
WiFi_Firmware_Driver ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
WiFi_OnOff ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
adsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
cdsp_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
gpdsp_remoteproc ⚠️ skip ✅ Pass ✅ Pass ⚠️ skip ⚠️ skip ✅ Pass ✅ Pass ◻️
hotplug ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
irq ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
kaslr ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
pinctrl ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
qcom_hwrng ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
rngtest ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
shmbridge ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
smmu ❌ Fail ❌ Fail ✅ Pass ❌ Fail ✅ Pass ✅ Pass ❌ Fail ◻️
watchdog ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️
wpss_remoteproc ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ✅ Pass ◻️

@sgaud-quic

Copy link
Copy Markdown
Contributor

Hangtian Zhu (@zhuhangtian) wifi failing on Hamoa please check this.

@zhuhangtian

Copy link
Copy Markdown
Author

as yingying replied to you, Hamoa platform: iq-x7181-evk kernel: ath12k_wifi7_pci 0004:01:00.0: qmi dma allocation failed (7274496 B type 1), will try later with small size

is warning info, later firmware requested smaller size dma coherent memroy allocation, and it succeeded, wlan functionality is fine. please adjust test script and unblock PR validation and merge process

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

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

@qcomlnxci

Copy link
Copy Markdown

Test Matrix

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

@qlijarvis

Copy link
Copy Markdown

LAVA Failed Case Triage Summary

PR: #874

Job 207874 | SoC qcs8300-ride

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/207874

Failed test cases in LAVA job 207874 (SoC: qcs8300-ride).

  Case 1: Probe_Failure_Check — False Positive (Benign Platform Behavior)
  1. Failed case: Probe_Failure_Check — False Positive (Benign Platform Behavior)
  2. Root cause: The test detected two probe messages that are normal for qcs8300-ride: (1) cpufreq-dt probe fails with -EEXIST because a platform-specific cpufreq driver already registered, and (2) regulatory.db firmware load fails with -ENOENT but cfg80211 falls back to built-in certificates. Both subsystems are fully functional as confirmed by CPUFreq_Validation and WiFi tests passing.
  3. Possible fix: Suppress these two known-benign patterns in the Probe_Failure_Check test for qcs8300 targets, or adjust the test to verify functional outcome (cpufreq interfaces present, WiFi operational) rather than flagging expected probe messages.
  4. Detail analysis attachment: failed_case_job207874_1_detailed.md
  Case 2: USBHost
  1. Failed case: USBHost
  2. Root cause: Test infrastructure limitation - the USBHost test expects external USB devices to be physically connected to the board's USB host port for enumeration validation, but no USB peripherals are connected in the LAVA lab setup for qcs8300-ride; only the USB 2.0 root hub (Bus 001 Device 001: ID 1d6b:0002) is detected, which is the expected baseline when no devices are attached.
  3. Possible fix: This is not a kernel defect or PR-introduced regression (PR contains only WiFi/mac80211 patches). To resolve: (1) Connect a USB device (keyboard, mouse, or storage) to the qcs8300-ride board's USB host port in the LAVA lab, OR (2) Update the test to SKIP when no external USB devices are available rather than FAIL, OR (3) Add this test to the known-benign-failures suppression list for qcs8300-ride if USB host peripheral testing is not supported on this platform.
  4. Detail analysis attachment: failed_case_job207874_2_detailed.md
  Case 3: ** KVM_Driver (pre-existing platform limitation)
  1. Failed case: ** KVM_Driver (pre-existing platform limitation)
  2. Root cause: ** The QCS8300 Ride platform boots with a Qualcomm Gunyah hypervisor already running at EL2, preventing the Linux KVM driver from initializing. CONFIG_KVM is enabled in the kernel config, but the KVM driver silently skips initialization when it detects EL2 is unavailable or already claimed by another hypervisor. The device node /dev/kvm is never created because the KVM subsystem never initializes.
  3. Possible fix: This is not a kernel bug or PR regression. If KVM functionality is required on QCS8300, the platform firmware/bootloader configuration must be changed to either: (1) boot Linux directly at EL2 without Gunyah, or (2) configure Gunyah to support nested virtualization and expose EL2 to Linux. For CI purposes, mark KVM tests as "not applicable" or "skip" for QCS8300 platform, as this SoC is designed for automotive use cases where Gunyah provides the virtualization layer, not Linux KVM.
  4. Detail analysis attachment: failed_case_job207874_3_detailed.md
  Case 4: KVM_EL2_DTB
  1. Failed case: KVM_EL2_DTB
  2. Root cause: The qcs8300-ride target is running under the Gunyah hypervisor (version gunyah-1cb9db980) as a guest VM, which prevents KVM from initializing because nested virtualization is not supported on this platform. CONFIG_KVM is enabled in the kernel, but /dev/kvm is not created because the KVM driver detects it is running as a guest and cannot access EL2.
  3. Possible fix: This is a test infrastructure configuration issue, not a kernel regression. Either: (1) Run KVM tests on bare-metal qcs8300-ride hardware without the Gunyah hypervisor, or (2) Skip KVM tests when the target is detected to be running under a hypervisor, or (3) Enable nested virtualization support in the Gunyah hypervisor if technically feasible for this platform.
  4. Detail analysis attachment: failed_case_job207874_4_detailed.md
  Case 5: KVM_Infra — /dev/kvm device node unavailable (pre-existing platform limitation)
  1. Failed case: KVM_Infra — /dev/kvm device node unavailable (pre-existing platform limitation)
  2. Root cause: The qcs8300-ride target is running as a guest VM under the Gunyah hypervisor (boot log shows "Hypervisor cold boot, version: gunyah-1cb9db980"). KVM requires EL2 (hypervisor mode) access to create /dev/kvm, but when running as a guest under Gunyah, the kernel operates at EL1 and cannot initialize KVM. CONFIG_KVM is enabled in the kernel config, but the KVM ARM driver silently skips initialization when it detects it's running under a hypervisor, preventing /dev/kvm creation.
  3. Possible fix: This is a pre-existing platform/infrastructure limitation, not a regression introduced by PR Sync ath12k to wireless-2026-07-26 #874 (which contains only WiFi driver patches). To enable KVM testing on qcs8300-ride: (1) configure the LAVA job to boot the target in bare-metal mode (not as a Gunyah guest VM), or (2) enable nested virtualization support in the Gunyah hypervisor configuration if supported by the platform, or (3) skip KVM tests on targets configured to run as Gunyah guests by adding a platform-specific test filter in the LAVA job definition.
  4. Detail analysis attachment: failed_case_job207874_5_detailed.md
  Case 6: KVM Driver/Infrastructure Initialization Failure — /dev/kvm device node not created
  1. Failed case: KVM Driver/Infrastructure Initialization Failure — /dev/kvm device node not created
  2. Root cause: KVM driver initialization aborted due to CPU feature heterogeneity on QCS8300 (big.LITTLE architecture). Boot CPU and secondary CPUs have mismatched instruction set and memory management features (ID_AA64ISAR0_EL1, ID_AA64ISAR1_EL1, ID_AA64MMFR2_EL1 register variations). KVM requires homogeneous CPU features across all cores for safe vCPU migration and refuses to initialize when heterogeneity is detected.
  3. Possible fix: This is a platform hardware limitation, not a kernel bug. KVM cannot be enabled on heterogeneous CPU systems. To use KVM on QCS8300: (1) Use CPU affinity to restrict the kernel to only homogeneous cores (e.g., boot with maxcpus=4 to use only big cores), or (2) Use a platform with homogeneous CPU architecture, or (3) Accept that KVM is not supported on this hardware configuration. The test failure is expected behavior and should be marked as "SKIP" for QCS8300 targets with heterogeneous CPU configurations.
  4. Detail analysis attachment: failed_case_job207874_6_detailed.md
Job 207875 | SoC qcs615-ride

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/207875

Failed test cases in LAVA job 207875 (SoC: qcs615-ride).

  Case 1: Kernel Crash — synchronous external abort during USB device enumeration
  1. Failed case: Kernel Crash — synchronous external abort during USB device enumeration
  2. Root cause: The kernel panicked with "synchronous external abort: Fatal exception" at ~7.8 seconds after boot while attempting to enumerate a USB device (low-speed USB device number 2). The crash occurred in __pi_memcpy_generic+0x44/0x230 called from swiotlb_bounce+0x104/0x178 during DMA mapping for USB control transfer. The fault address 0x0000000110f5cb10 (x19 register) suggests an invalid physical address access during SWIOTLB bounce buffer copy, indicating either a DMA mapping issue, IOMMU misconfiguration, or hardware fault on the qcs615-ride platform.
  3. Possible fix: This is a pre-existing platform/hardware issue unrelated to the PR patches (which only modify WiFi driver comments and mac80211 FILS discovery template fetching). The crash occurs during USB enumeration before any WiFi/networking code is exercised. Recommended actions: (1) Check if USB device connected to the board is faulty or incompatible; (2) Verify IOMMU/SMMU configuration for USB controller on qcs615-ride; (3) Check if this is a known issue with USB on qcs615-ride platform; (4) Re-trigger the CI job to confirm if this is a transient hardware fault; (5) If reproducible, bisect the kernel to find when USB enumeration started failing on this platform.
  4. Detail analysis attachment: failed_case_job207875_1_detailed.md
  Case 2: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Update the Probe_Failure_Check test to suppress the cfg80211 regulatory.db firmware load failure as a known benign pattern. Add a suppression rule: "Ignore 'regulatory: Direct firmware load for regulatory.db failed' messages when WiFi functional tests pass, as cfg80211 falls back to compiled-in regulatory rules." Alternatively, if regulatory.db is required for this platform, add the regulatory.db firmware file to the rootfs image used in CI.
  4. Detail analysis attachment: failed_case_job207875_2_detailed.md
  Case 3: ** smmu (test expectation issue — not a kernel failure)
  1. Failed case: ** smmu (test expectation issue — not a kernel failure)
  2. Root cause: ** The LAVA smmu test expects video-decoder (aa00000.video-codec:video-decoder) and video-encoder (aa00000.video-codec:video-encoder) to have individual IOMMU group sysfs entries, but these are logical child devices of the Venus video codec driver, not separate platform devices. The parent device aa00000.video-codec is correctly attached to IOMMU group 7, and the kernel reports no SMMU/IOMMU errors. This is a test infrastructure issue, not a kernel regression introduced by PR Sync ath12k to wireless-2026-07-26 #874.
  3. Possible fix: Update the LAVA smmu test script to recognize that video-decoder and video-encoder are child devices of the video-codec parent and should not be expected to have independent IOMMU group attachments. The test should verify only that the parent aa00000.video-codec device is attached to an IOMMU group (which it is — group 7).
  4. Detail analysis attachment: failed_case_job207875_3_detailed.md
  Case 4: KVM_Driver
  1. Failed case: KVM_Driver
  2. Root cause: QCS615 Ride platform does not support KVM virtualization — kernel reports "HYP mode not available" at boot, preventing /dev/kvm device node creation because the SoC lacks EL2 (hypervisor) support in hardware.
  3. Possible fix: Mark KVM tests as expected-to-skip for qcs615-ride in the LAVA test suite configuration, or exclude qcs615-ride from KVM test runs — this is a hardware limitation, not a kernel regression.
  4. Detail analysis attachment: failed_case_job207875_4_detailed.md
  Case 5: ** KVM_EL2_DTB
  1. Failed case: ** KVM_EL2_DTB
  2. Root cause: ** The QCS615 platform does not support ARM Virtualization Extensions (EL2/HYP mode). KVM correctly detects this limitation at boot (kvm [1]: HYP mode not available) and does not create /dev/kvm. The test fails because the hardware prerequisite for KVM functionality is absent on this SoC.
  3. Possible fix: This is not a bug - it is expected behavior on platforms without virtualization support. To resolve: (1) Skip KVM tests on qcs615-ride in the LAVA job definition, as this platform does not support virtualization; or (2) Run KVM tests only on platforms with confirmed EL2 support (e.g., SM8450, SM8550, SA8775P). Update the CI test matrix to exclude virtualization tests for QCS615.
  4. Detail analysis attachment: failed_case_job207875_5_detailed.md
  Case 6: KVM Infrastructure Test — HYP Mode Unavailable (Platform Hypervisor Conflict)
  1. Failed case: KVM Infrastructure Test — HYP Mode Unavailable (Platform Hypervisor Conflict)
  2. Root cause: The qcs615-ride platform is running the Gunyah hypervisor at EL2, preventing the Linux KVM subsystem from claiming HYP mode. KVM initialization fails with "HYP mode not available", and /dev/kvm is never created. This is a platform configuration issue, not a kernel regression.
  3. Possible fix: This test is not applicable to qcs615-ride when Gunyah hypervisor is enabled. Either (1) disable the Gunyah hypervisor in the firmware/bootloader configuration to allow native KVM, or (2) exclude KVM tests from the qcs615-ride LAVA job definition, as this platform does not support nested virtualization or KVM when Gunyah is active.
  4. Detail analysis attachment: failed_case_job207875_6_detailed.md
  Case 7: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM cannot initialize on qcs615-ride because the Gunyah hypervisor is running at EL2, preventing KVM from accessing HYP mode — kernel reports "kvm [1]: HYP mode not available" at boot.
  3. Possible fix: This is a pre-existing platform limitation, not a PR-introduced regression. The qcs615-ride board runs the Gunyah hypervisor which occupies EL2, making KVM unavailable. Either exclude KVM tests from qcs615-ride CI runs, or use a different board/firmware configuration that does not load Gunyah if KVM testing is required.
  4. Detail analysis attachment: failed_case_job207875_7_detailed.md
Job 207876 | SoC purwa-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/207876

Failed test cases in LAVA job 207876 (SoC: purwa-evk).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: The test detected 5 probe/firmware errors during boot on purwa-evk (iq-x5121): qcom_qseecom_uefisecapp (-EBUSY), two qcom-pcie instances (-ENODATA), qcom-spmi-lpg (-EINVAL), and regulatory.db firmware (-ENOENT). These are pre-existing platform-specific issues not introduced by PR Sync ath12k to wireless-2026-07-26 #874, which only modifies WiFi driver comments and mac80211 FILS discovery template handling.
  3. Possible fix: Mark this test failure as a known platform issue for purwa-evk. The PR changes (WiFi comment typos and mac80211 FILS discovery) do not touch any of the failing drivers (qseecom, PCIe, SPMI-LPG, or regulatory firmware). These probe failures are expected on this platform due to: (1) qseecom UEFI secure app not available in this boot mode (-EBUSY), (2) PCIe PHY init sequences missing for two controllers (-ENODATA), (3) SPMI-LPG multi-LED DT configuration error (-EINVAL), and (4) regulatory.db firmware intentionally absent in minimal rootfs (-ENOENT). None require PR-level fixes.
  4. Detail analysis attachment: failed_case_job207876_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Six critical platform devices (five USB controllers at a0f8800, a2f8800, a4f8800, a6f8800, a8f8800 and one video codec at aa00000) are missing IOMMU group attachments on purwa-evk, indicating incomplete device tree IOMMU bindings for these peripherals.
  3. Possible fix: Add missing iommus properties to the device tree nodes for USB controllers a0f8800.usb, a2f8800.usb, a4f8800.usb, a6f8800.usb, a8f8800.usb and video-codec aa00000.video-codec in the purwa-evk device tree, following the pattern used by the working USB controllers (a000000.usb, a200000.usb, a400000.usb, a600000.usb, a800000.usb).
  4. Detail analysis attachment: failed_case_job207876_2_detailed.md
  Case 3: KVM Driver Initialization Failure — Platform Does Not Support EL2 Mode
  1. Failed case: KVM Driver Initialization Failure — Platform Does Not Support EL2 Mode
  2. Root cause: The purwa-evk platform's bootloader boots the kernel in EL1 (supervisor mode) rather than EL2 (hypervisor mode), preventing KVM from initializing. KVM requires the CPU to be in EL2 at kernel boot time to enable virtualization support. This is a platform configuration limitation, not a kernel bug or PR-introduced regression.
  3. Possible fix: Mark KVM_Driver, KVM_EL2_DTB, and KVM_Infra tests as expected-fail or skip them for purwa-evk in the LAVA test definition. If KVM support is required on this platform, the bootloader firmware must be reconfigured to enter EL2 before jumping to the kernel (requires ABL/UEFI firmware changes, not kernel changes).
  4. Detail analysis attachment: failed_case_job207876_3_detailed.md
  Case 4: KVM_EL2_DTB — /dev/kvm not available (platform limitation)
  1. Failed case: KVM_EL2_DTB — /dev/kvm not available (platform limitation)
  2. Root cause: Purwa IoT EVK is running under Gunyah hypervisor which occupies EL2, preventing KVM initialization; kernel correctly reports "HYP mode not available" during KVM probe, resulting in /dev/kvm device node not being created.
  3. Possible fix: This is not a kernel bug or PR regression — it is expected behavior on platforms running under a hypervisor. To enable KVM testing: (1) boot Purwa without Gunyah hypervisor, or (2) use a different test platform that supports nested virtualization, or (3) exclude KVM tests from the CI test plan for Purwa-evk targets.
  4. Detail analysis attachment: failed_case_job207876_4_detailed.md
  Case 5: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM cannot initialize because the platform is running Gunyah hypervisor in EL2, which prevents KVM from accessing HYP mode. The kernel message "kvm [1]: HYP mode not available" indicates that KVM detected it cannot run because EL2 is already occupied by the Gunyah hypervisor.
  3. Possible fix: This is not a PR-introduced regression (the PR only modifies WiFi drivers). KVM requires exclusive access to EL2 (HYP mode) and cannot coexist with Gunyah hypervisor on the same CPU. Either: (1) disable KVM in the kernel config for Gunyah-based platforms, or (2) use nested virtualization support if available in future Gunyah versions, or (3) run KVM tests only on platforms without a hypervisor.
  4. Detail analysis attachment: failed_case_job207876_5_detailed.md
  Case 6: KVM Infrastructure Test Failure — Platform Limitation
  1. Failed case: KVM Infrastructure Test Failure — Platform Limitation
  2. Root cause: The Purwa IoT EVK platform does not support ARM virtualization extensions (EL2/HYP mode), causing KVM driver initialization to fail with "HYP mode not available" during boot; /dev/kvm device node is never created, causing all KVM-dependent tests to fail.
  3. Possible fix: This is not a kernel regression. The KVM tests should be excluded from the test suite for the Purwa IoT EVK platform, or the LAVA job definition should skip KVM tests on platforms without virtualization support. To enable KVM on this platform (if hardware supports it), verify that the bootloader/firmware is configured to enable EL2 before kernel boot.
  4. Detail analysis attachment: failed_case_job207876_6_detailed.md
Job 207877 | SoC lemans-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/207877

Failed test cases in LAVA job 207877 (SoC: lemans-evk).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Test infrastructure false positive — the test flags deferred probe devices and firmware load failures that do not indicate functional regressions. The Bluetooth firmware load failures are suppressed (BT_ON_OFF passed), WiFi regulatory.db failure is suppressed (WiFi_OnOff passed), and the PMIC temp-alarm deferred probe is a known platform-specific behavior on Lemans EVK where these thermal devices defer probe waiting for a dependency (likely IIO/VADC channel) that may not be critical for boot functionality.
  3. Possible fix: Update the Probe_Failure_Check test to apply the known benign failure suppression rules from lava-known-benign-failures.md (Rules 2 and 3 for WiFi/BT firmware). For the PMIC temp-alarm deferred probe, investigate whether these devices eventually probe later in boot or if the dependency is missing in the device tree; if they remain deferred but thermal monitoring works via other mechanisms, add them to the test's allowlist for Lemans EVK.
  4. Detail analysis attachment: failed_case_job207877_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: The SMMU test expects the video codec device aa00000.video-codec to be present and attached to an IOMMU group on lemans-evk, but this device does not exist in the device tree or was not probed by the kernel. The test detected 57 platform devices attached to IOMMU groups (including iris_non_pixel.0, iris_pixel.0, and video-firmware.0 for video functionality), but the legacy video-codec device node at address aa00000 is not present on this SoC platform.
  3. Possible fix: Update the SMMU test's critical master list for lemans-evk (SA8775P) to remove the legacy aa00000.video-codec device check, as this SoC uses the newer Iris video driver architecture (iris_non_pixel.0 and iris_pixel.0) instead of the legacy Venus video-codec driver. The test should validate the Iris video devices are IOMMU-protected rather than expecting the old video-codec device node.
  4. Detail analysis attachment: failed_case_job207877_2_detailed.md
  Case 3: LAVA Test Infrastructure Issue — Test Suite Marked Unfinished
  1. Failed case: LAVA Test Infrastructure Issue — Test Suite Marked Unfinished
  2. Root cause: LAVA dispatcher marked the test suite "0_qcom-next-ci-premerge-tests" as failed with "Marking unfinished test run as failed" despite the test runner completing normally and exiting with <LAVA_TEST_RUNNER EXIT>. This is a LAVA infrastructure state-tracking issue, not a kernel regression or genuine test failure. The kernel booted successfully, all 37 individual test cases executed and reported results, and the test runner exited cleanly.
  3. Possible fix: Re-trigger the LAVA job. This is a transient LAVA dispatcher state-tracking issue where the LAVA framework's internal completion detection logic incorrectly flagged the test run as incomplete despite receiving the proper exit signal from lava-test-runner. If the issue persists across multiple retries, investigate the LAVA dispatcher logs on the LAVA server to identify why the completion signal was not properly processed, and check for LAVA framework version-specific bugs related to test completion detection.
  4. Detail analysis attachment: failed_case_job207877_3_detailed.md
Job 207878 | SoC qcs9100-ride

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/207878

Failed test cases in LAVA job 207878 (SoC: qcs9100-ride).

  Case 1: login-action
  1. Failed case: login-action
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Verify qcs9100-ride device tree SMMU node has correct power-domains and clocks properties; ensure SMMU power domain is enabled and clocks are running before SMMU driver probe; check bootloader/firmware SMMU initialization for qcs9100; this is a platform/board configuration issue, not a PR-introduced regression.
  4. Detail analysis attachment: failed_case_job207878_1_detailed.md
  Case 2: ** Kernel Crash — Synchronous External Abort during SMMU Initialization
  1. Failed case: ** Kernel Crash — Synchronous External Abort during SMMU Initialization
  2. Root cause: ** The kernel crashed with a synchronous external abort (ESR 0x96000010) at 4.036s during boot when the SMMU driver attempted to write to the S2CR register at offset 0xc28 (SMMU base + 0xc28). The abort indicates the SMMU hardware block was either not powered, not clocked, or the register address was invalid/unmapped, causing a NoC (Network-on-Chip) timeout or access violation when CPU1 (swapper/0 PID 1) tried to configure stream-to-context mappings during arm_smmu_device_probe.
  3. Possible fix: This is a pre-existing platform/hardware configuration issue unrelated to the PR (which contains only WiFi driver comment typo fixes). The SMMU at 0x15000000 on qcs9100-ride requires correct power domain, clock, and interconnect setup before register access. Verify: (1) SMMU power domain is enabled in device tree and brought up before SMMU probe, (2) SMMU clocks are enabled, (3) NoC/interconnect paths to SMMU are configured, (4) SMMU register base address 0x15000000 is correct for this SoC revision. If this is a known board-specific issue, add SMMU to the deferred probe list or ensure dependencies probe first.
  4. Detail analysis attachment: failed_case_job207878_2_detailed.md
  Case 3: Kernel Crash — Synchronous External Abort during SMMU initialization
  1. Failed case: Kernel Crash — Synchronous External Abort during SMMU initialization
  2. Root cause: The qcs9100-ride platform experienced a synchronous external abort (bus error) at [4.036921] when the SMMU driver attempted to write to the S2CR (Stream-to-Context Register) at address 0xffff800084000c28 during arm_smmu_device_probe(). This is a hardware-level bus access fault indicating the SMMU register space is not accessible, likely due to missing power/clock configuration, incorrect device tree SMMU node configuration, or a pre-existing platform/firmware issue on qcs9100-ride that is unrelated to the WiFi driver changes in this PR.
  3. Possible fix: This is a pre-existing platform issue not introduced by PR Sync ath12k to wireless-2026-07-26 #874. The PR contains only WiFi driver changes and does not modify SMMU, IOMMU, or platform code. Recommended actions: (1) Verify qcs9100-ride device tree SMMU node configuration matches hardware specifications; (2) Check if SMMU power domain and clocks are properly enabled before driver probe; (3) Confirm firmware/bootloader properly initializes SMMU hardware; (4) Check if this failure reproduces on baseline kernel without PR patches; (5) If baseline also fails, this is a known qcs9100-ride platform issue requiring separate platform-level fix.
  4. Detail analysis attachment: failed_case_job207878_3_detailed.md
  Case 4: Kernel Crash — Synchronous External Abort during SMMU Initialization
  1. Failed case: Kernel Crash — Synchronous External Abort during SMMU Initialization
  2. Root cause: The qcs9100-ride board experienced a synchronous external abort (ESR 0x96000010) at PC qcom_smmu_write_s2cr+0x84/0x140 during SMMU device probe at boot time. The crash occurred when writing to SMMU S2CR registers at address 0xffff800084000c28, indicating a hardware access fault to an SMMU register that is either unpowered, clock-gated, or not accessible in the current SoC power/clock state on qcs9100-ride.
  3. Possible fix: This is a pre-existing platform-specific SMMU initialization issue on qcs9100-ride, not introduced by PR Sync ath12k to wireless-2026-07-26 #874 (which contains only WiFi driver comment typo fixes and mac80211 FILS discovery changes). The board requires SMMU power domain and clock enablement fixes in the device tree or SMMU driver probe sequence for qcs9100. Re-trigger the CI job to confirm reproducibility; if consistent, escalate to the qcs9100-ride platform bring-up team to verify SMMU power/clock dependencies in the device tree and ensure SMMU registers are accessible before qcom_smmu_write_s2cr is called during probe.
  4. Detail analysis attachment: failed_case_job207878_4_detailed.md
Job 207879 | SoC qcs6490-rb3gen2

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/207879

Failed test cases in LAVA job 207879 (SoC: qcs6490-rb3gen2).

  Case 1: Probe_Failure_Check (Test Infrastructure False Positive)
  1. Failed case: Probe_Failure_Check (Test Infrastructure False Positive)
  2. Root cause: The Probe_Failure_Check test flagged a benign cfg80211 regulatory.db firmware load failure (error -2: ENOENT) that occurs during early boot on qcs6490-rb3gen2. This is not a genuine probe failure — WiFi functionality is fully operational (WiFi_Firmware_Driver and WiFi_OnOff tests both pass), and cfg80211 successfully falls back to built-in regulatory data when the optional regulatory.db file is absent.
  3. Possible fix: Suppress this specific firmware load failure pattern in the Probe_Failure_Check test by adding an exception for "regulatory: Direct firmware load for regulatory.db failed with error -2" when WiFi functional tests pass. Alternatively, include regulatory.db in the rootfs image to eliminate the informational message.
  4. Detail analysis attachment: failed_case_job207879_1_detailed.md
  Case 2: USBHost
  1. Failed case: USBHost
  2. Root cause: USB host controller driver (dwc3/xhci-hcd) did not probe during boot; no USB host functionality available on qcs6490-rb3gen2 test board. The PR modifies only WiFi drivers (ath11k/ath12k) and is unrelated to USB subsystem.
  3. Possible fix: This is a pre-existing test infrastructure issue, not a PR-introduced regression. Verify USB host controller driver is enabled in kernel config (CONFIG_USB_DWC3, CONFIG_USB_XHCI_HCD) and that USB hardware is properly connected to the test board. If this test is expected to pass, investigate why dwc3/xhci driver probe is not occurring.
  4. Detail analysis attachment: failed_case_job207879_2_detailed.md
  Case 3: KVM_Driver — /dev/kvm device node not created
  1. Failed case: KVM_Driver — /dev/kvm device node not created
  2. Root cause: KVM driver initialization failed during early boot with "HYP mode not available" message at kernel timestamp 3.403454s. The ARM CPU on qcs6490-rb3gen2 is not running in EL2 (hypervisor exception level), or the virtualization extensions (ARM VHE/nVHE) are not enabled by the bootloader/firmware. CONFIG_KVM and CONFIG_VIRTUALIZATION are correctly enabled in the kernel config, but the hardware/firmware prerequisite for KVM operation is missing.
  3. Possible fix: This is a platform/firmware configuration issue, not a kernel regression. The qcs6490-rb3gen2 bootloader must be configured to boot the kernel in EL2 mode or enable virtualization extensions before handing control to Linux. Check: (1) bootloader configuration to ensure it enters EL2 before kernel handoff, (2) TrustZone/secure firmware settings that may restrict EL2 access, (3) whether the SoC variant supports virtualization extensions. If the platform does not support KVM, mark the KVM_Driver test as "not applicable" for this board in the LAVA test suite configuration.
  4. Detail analysis attachment: failed_case_job207879_3_detailed.md
  Case 4: KVM_EL2_DTB
  1. Failed case: KVM_EL2_DTB
  2. Root cause: KVM driver initialization failed because the system is running under the Gunyah hypervisor (detected at boot: "Hypervisor cold boot, version: gunyah-1cb9db980"), which prevents KVM from accessing EL2 (HYP mode). The kernel logged "[3.403454][T1] kvm [1]: HYP mode not available" during boot, causing KVM driver probe to fail and /dev/kvm device node to never be created. This is a platform configuration issue, not a kernel regression introduced by the PR.
  3. Possible fix: This is expected behavior on qcs6490-rb3gen2 when running under Gunyah hypervisor — KVM cannot function when another hypervisor controls EL2. To enable KVM testing: (1) reconfigure the platform to boot without Gunyah hypervisor, or (2) exclude KVM tests from the CI test suite for this SoC/board configuration, or (3) use a different test board that boots Linux directly at EL2 without a hypervisor.
  4. Detail analysis attachment: failed_case_job207879_4_detailed.md
  Case 5: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM cannot initialize because the qcs6490-rb3gen2 board is running under the Gunyah hypervisor (detected at boot: "Hypervisor cold boot, version: gunyah-1cb9db980"), which prevents KVM from accessing EL2 (HYP mode). The kernel reports "kvm [1]: HYP mode not available" during boot, causing /dev/kvm device node creation to fail. This is a platform configuration issue, not a kernel regression introduced by the PR.
  3. Possible fix: This is expected behavior on qcs6490-rb3gen2 when running under Gunyah hypervisor - KVM and Gunyah cannot coexist as both require EL2 access. Either: (1) Skip KVM tests on this platform/configuration, or (2) Boot without Gunyah hypervisor if KVM testing is required. The PR (WiFi driver changes) does not affect this behavior.
  4. Detail analysis attachment: failed_case_job207879_5_detailed.md
  Case 6: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM infrastructure test failure on qcs6490-rb3gen2 — CONFIG_KVM is enabled in kernel config but /dev/kvm device node is not created at runtime, indicating KVM driver initialization or device node creation failed during boot.
  3. Possible fix: This is a pre-existing kernel/platform issue unrelated to the PR (which contains only WiFi driver patches). The KVM driver may not be loading correctly on qcs6490-rb3gen2, or the device node creation is failing. Investigate kernel boot logs for KVM initialization errors, verify KVM driver is built as module or built-in, check if KVM is supported on this SoC/board configuration, and ensure udev rules are correctly creating /dev/kvm. The PR can proceed as this failure is not PR-introduced.
  4. Detail analysis attachment: failed_case_job207879_6_detailed.md
Job 207880 | SoC hamoa-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/207880

Failed test cases in LAVA job 207880 (SoC: hamoa-evk).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Three benign probe failures detected during boot on hamoa-evk (x1e80100): (1) qcom_qseecom_uefisecapp probe failed with -EBUSY (-16) due to secure world resource unavailability, (2) qcom-spmi-lpg probe failed with -EINVAL (-22) due to invalid multi-LED device tree configuration, and (3) regulatory.db firmware load failed with -ENOENT (-2) because the file is not present in the rootfs. None of these failures are introduced by PR Sync ath12k to wireless-2026-07-26 #874 (which contains only WiFi driver comment/API changes) and all are pre-existing platform/configuration issues that do not affect core system functionality.
  3. Possible fix: Suppress this test failure as a known benign issue. The three probe failures are expected on this platform: (1) qcom_qseecom_uefisecapp failure is a known secure world initialization race condition that does not impact EFI variable functionality, (2) qcom-spmi-lpg failure is a device tree configuration issue for LED controller that does not affect system operation, and (3) regulatory.db is an optional WiFi regulatory database file that cfg80211 handles gracefully with built-in certificates. If strict probe failure checking is required, update the test to exclude these three known-benign patterns for hamoa-evk/x1e80100 platforms.
  4. Detail analysis attachment: failed_case_job207880_1_detailed.md
  Case 2: smmu
  1. Failed case: smmu
  2. Root cause: Multiple critical USB controllers (a0f8800.usb, a2f8800.usb, a4f8800.usb, a6f8800.usb, a8f8800.usb) and video codec device (aa00000.video-codec) are missing IOMMU group attachments on hamoa-evk platform, indicating incomplete device tree IOMMU configuration for these peripherals.
  3. Possible fix: Add missing iommus properties to the device tree nodes for USB controllers at addresses 0xa0f8800, 0xa2f8800, 0xa4f8800, 0xa6f8800, 0xa8f8800 and video codec at 0xaa00000 in the hamoa (X1E80100) device tree, referencing the appropriate SMMU instance and stream IDs. Verify the fix by confirming all devices appear under /sys/kernel/iommu_groups/*/devices/ after boot.
  4. Detail analysis attachment: failed_case_job207880_2_detailed.md
  Case 3: KVM_Driver — Platform Hardware Limitation
  1. Failed case: KVM_Driver — Platform Hardware Limitation
  2. Root cause: The hamoa-evk platform does not support ARM virtualization extensions (EL2/HYP mode). Kernel message at boot: kvm [1]: HYP mode not available. CONFIG_KVM is enabled in kernel config, but the hardware/firmware does not provide the required EL2 exception level, preventing KVM device node creation.
  3. Possible fix: This is not a kernel bug or PR regression. The hamoa-evk board does not support virtualization. Recommended actions: (1) Exclude KVM tests from hamoa-evk CI test suite, or (2) Mark KVM tests as expected-fail for this platform, or (3) Use a different platform (e.g., rb3gen2, kodiak) that supports ARM virtualization extensions for KVM testing.
  4. Detail analysis attachment: failed_case_job207880_3_detailed.md
  Case 4: KVM_EL2_DTB
  1. Failed case: KVM_EL2_DTB
  2. Root cause: KVM cannot initialize on hamoa-evk because the Gunyah hypervisor is running at EL2; Linux runs as a guest under Gunyah without direct EL2 access, preventing KVM from creating /dev/kvm.
  3. Possible fix: Exclude KVM tests from hamoa-evk LAVA jobs, or use a non-Gunyah firmware build if nested virtualization testing is required; this is a platform architecture constraint, not a kernel regression.
  4. Detail analysis attachment: failed_case_job207880_4_detailed.md
  Case 5: KVM_Infra
  1. Failed case: KVM_Infra
  2. Root cause: KVM initialization failed because EL2 (hypervisor mode) is not available on the hamoa-evk platform. The kernel log shows kvm [1]: HYP mode not available at boot time, which means the hardware/firmware does not support or enable the ARM virtualization extensions required for KVM operation. CONFIG_KVM is enabled in the kernel configuration, but /dev/kvm device node is never created because the KVM driver cannot initialize without EL2 support.
  3. Possible fix: This is a platform hardware/firmware limitation, not a kernel regression. The hamoa-evk board does not support ARM virtualization extensions (EL2). To enable KVM on this platform: (1) verify the SoC hardware supports virtualization extensions, (2) ensure the bootloader/firmware boots the kernel at EL2 instead of EL1, (3) if the hardware doesn't support EL2, mark KVM tests as "not applicable" for this platform in the CI test matrix. The PR changes (WiFi driver patches) are unrelated to this failure.
  4. Detail analysis attachment: failed_case_job207880_5_detailed.md
  Case 6: ** 0_qcom-next-ci-premerge-tests (LAVA Test Infrastructure Timing Issue)
  1. Failed case: ** 0_qcom-next-ci-premerge-tests (LAVA Test Infrastructure Timing Issue)
  2. Root cause: ** LAVA test runner script result_parse.sh completed test execution but failed to send the expected completion signal before LAVA's internal timeout, causing LAVA to mark the test run as "unfinished" despite all individual test cases passing or being properly skipped.
  3. Possible fix: Re-trigger the LAVA job — this is a transient test infrastructure issue, not a kernel regression. If the issue persists, investigate the result_parse.sh script in the qcom-linux-testkit repository to ensure it properly sends LAVA completion signals, or increase the LAVA test-shell timeout from 00:39:21 to allow more time for result aggregation on slower boards.
  4. Detail analysis attachment: failed_case_job207880_6_detailed.md
Job 207881 | SoC shikra-iqs-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/207881

Failed test cases in LAVA job 207881 (SoC: shikra-iqs-evk).

  Case 1: GIC
  1. Failed case: GIC
  2. Root cause: Test script bug — the GIC test script incorrectly assumes 8 CPUs exist on the shikra-iqs-evk platform, but the system has only 4 CPUs (0-3). The script attempts to parse timer interrupt counts for non-existent CPUs 4-7, resulting in bash integer comparison errors when it encounters string fields ("GICv3", "Level", "arch_timer") from /proc/interrupts instead of numeric interrupt counts.
  3. Possible fix: Update the GIC test script (Runner/suites/Kernel/Baseport/GIC/run.sh) to dynamically detect the number of online CPUs from /sys/devices/system/cpu/online instead of hardcoding an assumption of 8 CPUs. The script should iterate only over CPUs that actually exist on the target platform.
  4. Detail analysis attachment: failed_case_job207881_1_detailed.md
  Case 2: remoteproc
  1. Failed case: remoteproc
  2. Root cause: remoteproc0 (modem subsystem) is not configured for auto-start on shikra-iqs-evk; the remoteproc driver registered the modem as "available" but did not initiate boot sequence, while cdsp (remoteproc1) and lpaicp (remoteproc2) auto-started successfully and reached "running" state.
  3. Possible fix: Update the shikra device tree or remoteproc configuration to enable auto-start for the modem subsystem (remoteproc0), or adjust the LAVA test expectation to reflect that modem is intentionally left offline on this platform configuration.
  4. Detail analysis attachment: failed_case_job207881_2_detailed.md
  Case 3: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: Could not be determined confidently from available logs.
  3. Possible fix: Update the Probe_Failure_Check test to exclude known benign probe failures on shikra-evk: (1) Add CoreSight ETM/funnel probe failures to the benign failure allowlist for Qualcomm platforms where debug infrastructure is not fully enabled; (2) Add cpufreq-dt -EEXIST failure to the allowlist for Qualcomm SoCs using qcom-cpufreq-hw; (3) Suppress regulatory.db firmware warnings when cfg80211 has built-in regulatory data; (4) Allow deferred probe entries for non-critical subsystems (audio codecs, optional WiFi regulators) that do not impact baseport functionality. Alternatively, run the test on a baseline kernel without PR 874 to confirm these failures are pre-existing, then mark the test as expected-fail for shikra-evk until board DT/firmware support is complete.
  4. Detail analysis attachment: failed_case_job207881_3_detailed.md
  Case 4: USBHost
  1. Failed case: USBHost
  2. Root cause: USB controller on shikra-iqs-evk is configured in gadget/device mode, not host mode. No USB host controller driver (xhci_hcd/dwc3) is loaded. The test expects USB host functionality but the hardware is configured for USB device/gadget operation, as evidenced by "Hardware activated USB gadget" systemd target and absence of xhci_hcd/dwc3 driver probe messages.
  3. Possible fix: This is a test infrastructure/configuration issue, not a kernel regression. The PR changes only WiFi drivers (ath11k/ath12k) and does not affect USB. To enable USB host mode on shikra-iqs-evk: (1) verify the device tree configures the USB controller in host mode (dr_mode = "host" or "otg"), (2) ensure USB host controller drivers (CONFIG_USB_XHCI_HCD, CONFIG_USB_DWC3, CONFIG_USB_DWC3_QCOM) are enabled in kernel config, (3) physically connect a USB device to the host port in the lab setup. If USB host is not supported on this board variant, mark the test as SKIP for this platform.
  4. Detail analysis attachment: failed_case_job207881_4_detailed.md
  Case 5: BT_SCAN — Bluetooth Device Discovery Failure (Firmware Missing)
  1. Failed case: BT_SCAN — Bluetooth Device Discovery Failure (Firmware Missing)
  2. Root cause: Bluetooth firmware file qca/apbtfw11.tlv is missing from the rootfs image. The QCA Bluetooth controller (hci0) requires this firmware patch to enable device discovery/scanning functionality. Without it, the controller powers on successfully (BT_ON_OFF passes) but cannot discover nearby Bluetooth devices (BT_SCAN fails). This is a rootfs packaging issue, not a kernel regression — the PR contains no Bluetooth-related changes.
  3. Possible fix: Add the missing Bluetooth firmware file qca/apbtfw11.tlv to the rootfs image under /lib/firmware/qca/. The firmware should be sourced from the linux-firmware repository or the QCA vendor firmware package and included in the Yocto/build recipe for the shikra-iqs-evk image. Re-trigger the CI job with the updated image to verify BT_SCAN passes.
  4. Detail analysis attachment: failed_case_job207881_5_detailed.md
  Case 6: ** Kernel Crash — Synchronous External Abort (Hardware Bus Error)
  1. Failed case: ** Kernel Crash — Synchronous External Abort (Hardware Bus Error)
  2. Root cause: ** The qcom_rng hardware RNG driver attempted to read from a hardware register that is either unpowered, unclocked, or incorrectly mapped on the Shikra IQS EVK platform, resulting in a synchronous external abort at PC qcom_rng_read+0xc4. This is a pre-existing platform/board-specific hardware initialization issue, NOT introduced by PR Sync ath12k to wireless-2026-07-26 #874 (which contains only WiFi driver changes).
  3. Possible fix: Short-term: Disable the qcom_hwrng test on Shikra IQS EVK in the LAVA test suite to unblock CI, as this is a known platform issue unrelated to kernel code changes. Long-term: Investigate and fix the Shikra IQS EVK device tree to ensure the PRNG hardware block has correct clock, power domain, and MMIO configuration, or mark the RNG as disabled if it is TrustZone-owned on this platform variant.
  4. Detail analysis attachment: failed_case_job207881_6_detailed.md
  Case 7: Kernel Crash — Synchronous External Abort (qcom_rng hardware access fault) → KVM_EL2_DTB secondary failure
  1. Failed case: Kernel Crash — Synchronous External Abort (qcom_rng hardware access fault) → KVM_EL2_DTB secondary failure
  2. Root cause: The KVM_EL2_DTB test failed because the system crashed during the preceding qcom_hwrng test due to a synchronous external abort when accessing the Qualcomm hardware RNG MMIO registers. The board rebooted, and post-reboot /dev/kvm was unavailable (likely due to missing EL2/hypervisor support or KVM initialization failure on Shikra IQS EVK), causing the KVM test to fail. The root issue is the qcom_rng hardware access fault, not a KVM-specific problem.
  3. Possible fix: The qcom_hwrng test crash must be fixed first. Investigate why the qcom_rng driver is accessing hardware registers that cause a synchronous external abort on Shikra IQS EVK — verify RNG block power/clock configuration, check if firmware/TZ is blocking access, and review platform-specific power management. For the KVM_EL2_DTB test: verify that the Shikra IQS EVK platform supports EL2/hypervisor mode and that the bootloader/firmware is configured to enable it; if not supported, mark KVM tests as N/A for this platform.
  4. Detail analysis attachment: failed_case_job207881_7_detailed.md
  Case 8: ** KVM_Infra (Note: This test failure is NOT the root cause of the job failure)
  1. Failed case: ** KVM_Infra (Note: This test failure is NOT the root cause of the job failure)
  2. Root cause: ** The KVM_Infra test failed because /dev/kvm is not available on Shikra IQS EVK. The kernel log shows "kvm [1]: HYP mode not available" indicating the platform does not support EL2 (hypervisor mode), which is required for KVM. This is a platform hardware/firmware limitation, not a kernel regression. However, the LAVA job ultimately failed due to a subsequent kernel crash in the qcom_hwrng test (synchronous external abort in qcom_rng_read at offset +0xc4), which caused a system panic and reboot, leading to a test timeout. This crash is unrelated to the PR changes (which only modify WiFi drivers) and represents a pre-existing hardware/firmware issue with the RNG hardware on this specific board.
  3. Possible fix: For the KVM_Infra test failure: Skip KVM tests on Shikra IQS EVK or any platform where HYP mode is not available, as this is a known hardware limitation. For the qcom_hwrng crash: Investigate the qcom_rng driver's hardware register access at offset +0xc4 in qcom_rng_read — the synchronous external abort (ESR 0x96000010) indicates the hardware RNG peripheral is not responding or is not properly powered/clocked on this board. Check device tree configuration for qcom_rng node, verify clock/regulator dependencies, and confirm firmware version supports RNG hardware on Shikra IQS EVK. Consider adding runtime hardware presence checks before accessing RNG registers.
  4. Detail analysis attachment: failed_case_job207881_8_detailed.md
  Case 9: Kernel Crash — Synchronous External Abort in qcom_rng driver
  1. Failed case: Kernel Crash — Synchronous External Abort in qcom_rng driver
  2. Root cause: Hardware register access fault in qcom_rng_read() at offset 0xc4 — synchronous external abort (ESR 0x96000010) indicates the hardware RNG block is either not powered, not clocked, or the MMIO mapping is invalid for the shikra-iqs-evk platform. The crash is NOT introduced by PR Sync ath12k to wireless-2026-07-26 #874 (which contains only WiFi driver patches); this is a pre-existing platform/driver compatibility issue.
  3. Possible fix: Verify that the qcom_rng device tree node for shikra (QCM2290) includes correct clock and power domain bindings. Check if the RNG hardware block requires explicit clock/power enablement before register access. Add runtime PM or clock gating checks in the qcom_rng driver probe path. As a short-term mitigation, disable the qcom_hwrng test for shikra-iqs-evk in the CI test plan until the platform support is fixed.
  4. Detail analysis attachment: failed_case_job207881_9_detailed.md
  Case 10: Kernel Crash — synchronous external abort in qcom_rng driver
  1. Failed case: Kernel Crash — synchronous external abort in qcom_rng driver
  2. Root cause: The qcom_hwrng test triggered a synchronous external abort (memory access fault) at PC qcom_rng_read+0xc4 when reading from the hardware RNG device. The crash occurred during a read operation from /dev/hwrng, causing a kernel panic with "synchronous external abort: Fatal exception". The board subsequently entered EDL/ramdump mode, and the LAVA test shell timed out after 2400 seconds waiting for the board to recover.
  3. Possible fix: This is a pre-existing kernel bug in the qcom_rng driver on shikra-iqs-evk, not introduced by PR Sync ath12k to wireless-2026-07-26 #874 (which only touches ath11k/ath12k WiFi drivers). The crash indicates the RNG hardware registers are not properly mapped or powered. Disable the qcom_hwrng test for shikra-iqs-evk until the qcom_rng driver is fixed to handle this platform's RNG hardware correctly, or investigate whether the RNG device node in the shikra DT is missing required clocks/regulators/power-domains.
  4. Detail analysis attachment: failed_case_job207881_10_detailed.md
  Case 11: Kernel Crash — synchronous external abort in qcom_rng driver
  1. Failed case: Kernel Crash — synchronous external abort in qcom_rng driver
  2. Root cause: The qcom_hwrng test triggered a synchronous external abort (hardware bus error) at PC qcom_rng_read+0xc4 while reading from the hardware RNG device. The crash occurred when the dd process attempted to read 20MB of entropy from /dev/hwrng. The fault is a hardware-level bus access error (error code 0x96000010) indicating the qcom_rng driver attempted to access an invalid or unpowered hardware register. This is NOT a PR-introduced regression — the PR contains only WiFi driver comment/typo fixes and MAC80211 FILS discovery changes, with no modifications to qcom_rng, power management, or clock/regulator subsystems. The failure is a pre-existing platform/firmware issue specific to the shikra-iqs-evk board's RNG hardware configuration.
  3. Possible fix: This is a board/firmware configuration issue, not a kernel regression. The test failure should be suppressed for shikra-iqs-evk until the hardware RNG power/clock/register mapping is corrected in the device tree or firmware. Short-term: skip the qcom_hwrng test on shikra-iqs-evk by adding a board-specific test exclusion. Long-term: investigate the shikra DT qcom,prng node to verify the reg property points to a valid, powered, and clocked RNG hardware block; confirm PRNG clocks and regulators are enabled before driver probe; check if the RNG block requires explicit power domain or interconnect vote on this SoC.
  4. Detail analysis attachment: failed_case_job207881_11_detailed.md
  Case 12: Kernel Crash — Synchronous External Abort in qcom_rng Driver
  1. Failed case: Kernel Crash — Synchronous External Abort in qcom_rng Driver
  2. Root cause: The kernel panicked with a synchronous external abort (ESR 0x96000010) at PC qcom_rng_read+0xc4 while reading from the hardware RNG device during an rngtest operation. The abort indicates a bus-level fault when the driver attempted to access MMIO registers, likely due to the RNG hardware block being unpowered, unclocked, or in an inaccessible state on the shikra-iqs-evk platform.
  3. Possible fix: Verify that the qcom_rng device tree node for shikra (QCM2290) includes correct power-domain, clock, and interconnect dependencies; ensure the RNG hardware block is properly powered and clocked before driver probe. If the hardware is not functional on this platform, disable the qcom_rng driver in the kernel config or mark the DT node as status = "disabled" for shikra-iqs-evk.
  4. Detail analysis attachment: failed_case_job207881_12_detailed.md
Job 207882 | SoC monaco-evk

LAVA job: https://lava-oss.qualcomm.com/scheduler/job/207882

Failed test cases in LAVA job 207882 (SoC: monaco-evk).

  Case 1: Probe_Failure_Check
  1. Failed case: Probe_Failure_Check
  2. Root cause: ath11k_pci WiFi driver probe failure (-ETIMEDOUT) caused by missing firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin (error -2, ENOENT) preventing MHI bus initialization; this is a pre-existing platform/firmware packaging issue, not introduced by the PR which only modifies comment typos and adds link_id parameters to mac80211 template fetch functions.
  3. Possible fix: Add the missing firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin to the rootfs firmware directory (/lib/firmware/), or update the device tree / board configuration to reference the correct firmware path variant that exists in the image (e.g., standard WCN6855/hw2.1 path without nfa765 subdirectory).
  4. Detail analysis attachment: failed_case_job207882_1_detailed.md
  Case 2: ** WiFi Driver Probe Failure — ath11k_pci probe timeout
  1. Failed case: ** WiFi Driver Probe Failure — ath11k_pci probe timeout
  2. Root cause: ** The ath11k_pci driver probe failed with -110 (ETIMEDOUT) because the MHI (Modem Host Interface) subsystem could not load the required firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin (error -2 = ENOENT, file not found). Without firmware, MHI initialization times out, causing the entire WiFi driver probe to fail. This is a firmware packaging/deployment issue on the monaco-evk platform.
  3. Possible fix: Add the missing firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin to the rootfs firmware directory (/lib/firmware/ath11k/WCN6855/hw2.1/nfa765/). Verify the firmware package for WCN6855 hw2.1 is included in the Yocto build or manually copy the firmware from linux-firmware.git to the target. Re-test WiFi functionality after firmware is present.
  4. Detail analysis attachment: failed_case_job207882_2_detailed.md
  Case 3: WiFi_OnOff — WiFi driver probe failure
  1. Failed case: WiFi_OnOff — WiFi driver probe failure
  2. Root cause: ath11k_pci driver probe failed with error -110 (ETIMEDOUT) on monaco-evk because the required firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin is missing from the rootfs image, causing MHI power-up to timeout during WiFi device initialization.
  3. Possible fix: Add the missing firmware file ath11k/WCN6855/hw2.1/nfa765/amss.bin to the rootfs build recipe (meta-qcom firmware package) for monaco-evk target, or update the device tree/board configuration to use the correct firmware path variant that exists in the current image.
  4. Detail analysis attachment: failed_case_job207882_3_detailed.md
  Case 4: 0_qcom-next-ci-premerge-tests
  1. Failed case: 0_qcom-next-ci-premerge-tests
  2. Root cause: WiFi driver (ath11k_pci) probe failure with error -110 (ETIMEDOUT) during device initialization on monaco-evk. The ath11k_pci driver failed to communicate with the WCN6855 WiFi hardware during probe, causing firmware load timeout and subsequent test failures (Probe_Failure_Check, WiFi_Firmware_Driver, WiFi_OnOff).
  3. Possible fix: This is a pre-existing hardware/firmware communication issue, not introduced by PR Sync ath12k to wireless-2026-07-26 #874. The PR contains only comment typo fixes, API signature updates for link_id parameters, and other non-functional changes to WiFi drivers. Re-trigger the CI job to rule out transient hardware/lab infrastructure issues. If the issue persists, investigate: (1) WCN6855 PCIe device power state and enumeration on monaco-evk, (2) MHI (Modem Host Interface) channel initialization and firmware download path, (3) firmware file availability at /lib/firmware/ath11k/WCN6855/hw2.1/, (4) PCIe link training and IOMMU configuration for the WiFi device.
  4. Detail analysis attachment: failed_case_job207882_4_detailed.md

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.