Skip to content

FROMLIST: wifi: ath10k: filter non-UTF testmode events - #880

Open
linghuiwu (linghuiwu-star) wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
linghuiwu-star:ath10k-filter-non-utf-testmode-events-qcom-6.18
Open

FROMLIST: wifi: ath10k: filter non-UTF testmode events#880
linghuiwu (linghuiwu-star) wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
linghuiwu-star:ath10k-filter-non-utf-testmode-events-qcom-6.18

Conversation

@linghuiwu-star

Copy link
Copy Markdown

When UTF monitor is enabled, ath10k forwards WMI events to nl80211 testmode. Non-UTF events can therefore be delivered to userspace and confuse FTM tools which expect only UTF responses.

Only forward known UTF event IDs from WMI event namespaces that route events through ath10k_tm_event_wmi(), and drop other WMI events while UTF monitor is active. READY events are still handled by the normal WMI receive path.

Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.3.3.7.c5-00093.2-QCAHLSWMTPL-1

Link: https://lore.kernel.org/r/20260730023226.707008-1-linghui.wu@oss.qualcomm.com

CRs-Fixed:4627410

@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

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

Entities:

  • kernel.qli.2.0

CR: 4627410

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

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #880

PR: #880
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/30534798019

# Error File:Line PR-introduced? Root Cause
1 'WMI_TLV_PDEV_UTF_EVENTID' undeclared drivers/net/wireless/ath/ath10k/testmode.c:33 Yes PR adds new function ath10k_tm_is_utf_event() that references undefined constant WMI_TLV_PDEV_UTF_EVENTID
2 control reaches end of non-void function [-Werror=return-type] drivers/net/wireless/ath/ath10k/testmode.c:34 Yes Cascading error from Error #1 — incomplete return statement due to undeclared identifier

Verdict

Both errors are introduced by this PR. The patch references a WMI event ID constant that does not exist in the kernel headers.

📎 Detailed analysis: Full report

@qlijarvis

Copy link
Copy Markdown

🔨 Build Failure Analysis — PR #880

PR: #880
Build run: https://github.com/qualcomm-linux/kernel-config/actions/runs/30534798019

# Error File:Line PR-introduced? Root Cause
1 Undeclared identifier WMI_TLV_PDEV_UTF_EVENTID drivers/net/wireless/ath/ath10k/testmode.c:33 Yes PR adds reference to undefined constant in new function ath10k_tm_is_utf_event()
2 Control reaches end of non-void function drivers/net/wireless/ath/ath10k/testmode.c:34 Yes Cascading error from undeclared identifier prevents compiler from verifying return path

Verdict

Both errors are introduced by this PR. The constant WMI_TLV_PDEV_UTF_EVENTID does not exist in the kernel tree.

📎 Detailed analysis: Full report

@linghuiwu-star

Copy link
Copy Markdown
Author

Hi @qualcomm-linux/qualcomm-kernel-maint,

Could you please help review and approve this PR when you get a chance?
The internal review has been completed, and this PR is now waiting for the required kernel maintainer approval.

Thanks.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Compilation failure, please fix it.

When UTF monitor is enabled, ath10k forwards WMI events to nl80211
testmode. Non-UTF events can therefore be delivered to userspace and
confuse FTM tools which expect only UTF responses.

Only forward known UTF event IDs from WMI event namespaces that route
events through ath10k_tm_event_wmi(), and drop other WMI events while UTF
monitor is active. READY events are still handled by the normal WMI
receive path.

Tested-on: WCN3990 hw1.0 SNOC WLAN.HL.3.3.7.c5-00093.2-QCAHLSWMTPL-1

Signed-off-by: Linghui Wu <linghui.wu@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260730023226.707008-1-linghui.wu@oss.qualcomm.com
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: CR Not Eligible for Merge

CR 4627410 is not eligible for merge.

The parent software image for kernel.qli.2.0 is not development complete.

Entity: kernel.qli.2.0
CR: 4627410
Reason: CR_CANNOT_MERGE

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

@qcomlnxci
qcomlnxci requested a review from a team August 4, 2026 11:12
@linghuiwu-star

Copy link
Copy Markdown
Author

Compilation failure, please fix it.

found one build issue with this patch on kernel 6.18.37.

drivers/net/wireless/ath/ath10k/testmode.c fails to build because
WMI_TLV_PDEV_UTF_EVENTID is undeclared. The symbol is defined in
wmi-tlv.h, but testmode.c only includes wmi.h.

Adding the following include fixes the build:

#include "wmi-tlv.h"

With this change, linux-qcom do_compile_kernelmodules passes on
kernel 6.18.37.

@qlijarvis

Copy link
Copy Markdown

PR #880 — validate-patch

PR: #880

Verdict Issues Detailed Report
1 Full report

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/r/20260730023226.707008-1-linghui.wu@oss.qualcomm.com
  2. Lore link matches PR commits: No — PR adds extra #include "wmi-tlv.h" line not in lore patch; code logic matches but includes differ
  3. Upstream patch status: ✅ ACKed — received Reviewed-by: from Baochen Qiang and Rameshkumar Sundaram; maintainer Jeff Johnson confirmed "Applied, thanks!" on Aug 1, 2026; merged as commit 35a3da9fe1b212a9012952a04f383b8dc3708dd7 in ath-next tree
  4. PR present in qcom-next/topics: Yes - all 1 commit(s) are present in qcom-next or topics
Verdict: ❌ — click to expand

🔍 Patch Validation

PR: #880 - FROMLIST: wifi: ath10k: filter non-UTF testmode events
Upstream commit: https://lore.kernel.org/r/20260730023226.707008-1-linghui.wu@oss.qualcomm.com
Verdict: ❌ FAIL

Commit Message

Check Status Note
Subject matches upstream Subject adapted with FROMLIST: prefix (correct)
Body preserves rationale Commit body identical to lore patch
Fixes tag present/correct No Fixes tag in either version (not a bugfix)
Authorship preserved From: matches lore author (Linghui Wu)
Backport note (if applicable) N/A Not a backport; FROMLIST: prefix is correct

Diff

File Status Notes
drivers/net/wireless/ath/ath10k/testmode.c PR adds extra #include "wmi-tlv.h" line not present in lore patch

Issues

  • Extra hunk in PR: The PR patch adds #include "wmi-tlv.h" at line 13 of testmode.c, but this line is not present in the lore patch. The lore patch only adds the ath10k_tm_is_utf_event() helper function and the filtering logic in ath10k_tm_event_wmi(). The PR contains undocumented additional content beyond what was posted to the mailing list.

Verdict

Do not merge without correction. The PR contains an extra include directive (#include "wmi-tlv.h") that was not part of the upstream lore patch. This violates the FROMLIST: contract, which requires the PR to faithfully represent what was posted to the mailing list.

Required action: Either (1) remove the extra include line to match the lore patch exactly, or (2) if the include is necessary for the target tree, document this as a separate adaptation commit or note in the commit message why the deviation is required.

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/r/20260730023226.707008-1-linghui.wu@oss.qualcomm.com
  2. Lore link matches PR commits: No — PR adds extra #include "wmi-tlv.h" line not in lore patch; code logic matches but includes differ
  3. Upstream patch status: ✅ ACKed — received Reviewed-by: from Baochen Qiang and Rameshkumar Sundaram; maintainer Jeff Johnson confirmed "Applied, thanks!" on Aug 1, 2026; merged as commit 35a3da9fe1b212a9012952a04f383b8dc3708dd7 in ath-next tree
  4. PR present in qcom-next/topics: Yes — integration_presence_report.md confirms commit is present in topics (all added lines verified)

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/1 [PATCH] FROMLIST: wifi: ath10k: filter non-UTF testmode events partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present

Final Status

overall_status: PASS
present_commits: 1/1
partial_commits: 0/1
missing_commits: 0/1
topics_checked_for_commits: 1/1
final_summary: PR present in qcom-next/topics: Yes - all 1 commit(s) are present in qcom-next or topics

@qlijarvis

Copy link
Copy Markdown

PR #880 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch No style issues
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check No static analysis warnings
check-uapi-headers No UAPI changes
check-patch-compliance Content mismatch with upstream link
tag-check Valid FROMLIST: prefix present

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #880 - FROMLIST: wifi: ath10k: filter non-UTF testmode events
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/30903875086

Checker Result Summary
checkpatch No style issues
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check No static analysis warnings
check-uapi-headers No UAPI changes
check-patch-compliance Content mismatch with upstream link
tag-check Valid FROMLIST: prefix present

❌ check-patch-compliance

Root cause: The patch content in the PR differs from the upstream patch referenced in the Link trailer.

Failure details:

Checking commit: FROMLIST: wifi: ath10k: filter non-UTF testmode events
Change is different from the one mentioned in Link

Analysis:

The commit references:

Link: https://lore.kernel.org/r/20260730023226.707008-1-linghui.wu@oss.qualcomm.com

The checker detected that the actual patch content differs from what was posted to the mailing list at this URL. This can happen due to:

  1. Context-only differences — Line numbers shifted but actual changes are identical (false positive)
  2. Legitimate adaptations — Backport required modifications for the target kernel version
  3. Missing/extra hunks — Incomplete cherry-pick or additional changes bundled in
  4. Whitespace/formatting — Trivial differences that don't affect functionality

Fix:

To diagnose the exact difference:

# Fetch the upstream patch
b4 am --single-message -C -l -3 https://lore.kernel.org/r/20260730023226.707008-1-linghui.wu@oss.qualcomm.com -o /tmp/upstream

# Compare the actual code changes (+ and - lines only)
git format-patch -1 af873ff74acb --stdout | \
  awk '/^diff/,/^--$/' | grep -E '^[+-][^+-]' > /tmp/pr-changes.txt

awk '/^diff/,/^--$/' /tmp/upstream/*.mbx | \
  grep -E '^[+-][^+-]' > /tmp/upstream-changes.txt

diff /tmp/pr-changes.txt /tmp/upstream-changes.txt

Resolution options:

  1. If differences are context-only (line numbers shifted but changes identical):

    • This is a checker limitation — the patch is correct
    • Document the context shift in the PR description
    • No code change needed
  2. If legitimate adaptations were made (e.g., function signature changed in target kernel):

    • Change prefix from FROMLIST: to BACKPORT:
    • Add a note in the commit body explaining the adaptation:
      [ Adapted for <kernel-version>: <brief explanation> ]
      
  3. If extra changes were bundled:

    • Split into separate commits: one faithful backport + one adaptation patch
    • Or remove the extra changes if they're not needed
  4. If the patch is incomplete:

    • Cherry-pick the complete upstream patch
    • Ensure all hunks are present

Reproduce locally:

cd /path/to/kernel
git checkout af873ff74acb
../kernel-checkers/check-patch-compliance.sh \
  --kernel-src . \
  --base 1bc9614caed6d787783330f1fbd09003ff6a9741 \
  --head af873ff74acb98e5ce593db8ed2a1d5b8dd054a8

Verdict

1 blocker to fix before merge:

The check-patch-compliance failure must be resolved. The patch content must either:

  • Match the upstream link exactly (if it's a faithful backport), or
  • Use BACKPORT: prefix with documented adaptations (if modifications were necessary)

Investigate the actual differences using the commands above to determine which resolution path is appropriate. If the differences are only context shifts (line numbers), this may be a false positive that can be documented and accepted.

All other checkers passed successfully.

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

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.

6 participants