Skip to content

FROMLIST: wifi: ath12k: fix ML-STA authentication timeout#807

Open
miaoqing-quic wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
miaoqing-quic:fix-ml-auth-timeout
Open

FROMLIST: wifi: ath12k: fix ML-STA authentication timeout#807
miaoqing-quic wants to merge 1 commit into
qualcomm-linux:qcom-6.18.yfrom
miaoqing-quic:fix-ml-auth-timeout

Conversation

@miaoqing-quic

Copy link
Copy Markdown
Contributor

Firmware interprets the MLO_LINK_ADD and MLO_START_AS_ACTIVE flags to control the link state during MLO vdev start. MLO_LINK_ADD indicates that a link is being added, while MLO_START_AS_ACTIVE specifies that the link should become active during the start.

When an association link is added without setting MLO_START_AS_ACTIVE, the firmware may transition the link into a suspended state. In this case, authentication frames transmitted by the host can be dropped, leading to repeated authentication retries and eventual timeout, for example:
wlp1s0: send auth to (try 1/3)
wlp1s0: send auth to (try 2/3)
wlp1s0: send auth to (try 3/3)
wlp1s0: authentication with timed out

Avoid triggering this behavior by setting the MLO_START_AS_ACTIVE flag when MLO_ASSOC_LINK is set, which tells the firmware that the current vdev must not enter suspend mode

Tested-on: QCC2072 hw1.0 PCI WLAN.COL.1.0.c2-00068-QCACOLSWPL_V1_TO_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3

Fixes: d8e1f4a ("wifi: ath12k: enable QCC2072 support")

Link: https://lore.kernel.org/linux-wireless/20260704073000.3300099-1-miaoqing.pan@oss.qualcomm.com/

CRs-Fixed: 4566992

Firmware interprets the MLO_LINK_ADD and MLO_START_AS_ACTIVE flags to
control the link state during MLO vdev start. MLO_LINK_ADD indicates
that a link is being added, while MLO_START_AS_ACTIVE specifies that
the link should become active during the start.

When an association link is added without setting MLO_START_AS_ACTIVE,
the firmware may transition the link into a suspended state. In this
case, authentication frames transmitted by the host can be dropped,
leading to repeated authentication retries and eventual timeout,
for example:
  wlp1s0: send auth to <AP> (try 1/3)
  wlp1s0: send auth to <AP> (try 2/3)
  wlp1s0: send auth to <AP> (try 3/3)
  wlp1s0: authentication with <AP> timed out

Avoid triggering this behavior by setting the MLO_START_AS_ACTIVE flag
when MLO_ASSOC_LINK is set, which tells the firmware that the current
vdev must not enter suspend mode

Tested-on: QCC2072 hw1.0 PCI WLAN.COL.1.0.c2-00068-QCACOLSWPL_V1_TO_SILICONZ-1
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3

Fixes: d8e1f4a ("wifi: ath12k: enable QCC2072 support")
Signed-off-by: Miaoqing Pan <miaoqing.pan@oss.qualcomm.com>
Link: https://lore.kernel.org/linux-wireless/20260704073000.3300099-1-miaoqing.pan@oss.qualcomm.com/
@qswat-orbit-external

Copy link
Copy Markdown

Merge Check Failed: No Change Task Found

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

Entities:

  • kernel.qli.2.0

CR: 4566992

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 #807 — validate-patch

PR: #807

Verdict Issues Detailed Report
⚠️ 3 Full report

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/linux-wireless/20260704073000.3300099-1-miaoqing.pan@oss.qualcomm.com/
  2. Lore link matches PR commits: Cannot verify — network restricted; unable to fetch lore patch for comparison
  3. Upstream patch status: Cannot verify — network restricted; unable to fetch lore thread. Patch posted 2026-07-04 (very recent, likely still under review)
  4. PR present in qcom-next: No — searched by subject, file paths, and diff fingerprint; not found in qcom-next (expected for recent FROMLIST patch)
Verdict: ⚠️ — click to expand

🔍 Patch Validation

PR: #807 - FROMLIST: wifi: ath12k: fix ML-STA authentication timeout
Upstream commit: https://lore.kernel.org/linux-wireless/20260704073000.3300099-1-miaoqing.pan@oss.qualcomm.com/
Verdict: ⚠️ PARTIAL (network-restricted validation)

Commit Message

Check Status Note
Subject matches upstream ⏭️ Cannot verify - network restricted; lore fetch failed
Body preserves rationale Detailed problem description and fix rationale present
Fixes tag present/correct Fixes: d8e1f4a19310 ("wifi: ath12k: enable QCC2072 support")
Authorship preserved FROMLIST: author Miaoqing Pan in both From: and Signed-off-by:
Backport note (if applicable) N/A Not a backport - FROMLIST prefix indicates pending upstream

Diff

File Status Notes
drivers/net/wireless/ath/ath12k/wmi.c ⏭️ Cannot compare to lore - network restricted
drivers/net/wireless/ath/ath12k/wmi.h ⏭️ Cannot compare to lore - network restricted

Issues

  • Network restriction: Unable to fetch upstream lore patch for content comparison. The lore link is well-formed and present in the commit message.
  • Commit message structure: All required elements are present (subject, body, Fixes tag, Signed-off-by, Link tag).
  • FROMLIST authorship: Correctly handled - the author appears in both From: and Signed-off-by: fields, which is appropriate for FROMLIST commits.

Verdict

Cannot fully validate due to network restrictions preventing lore fetch. However, commit message structure is correct:

  • ✅ Proper FROMLIST: prefix
  • ✅ Well-formed lore.kernel.org link in Link: tag
  • ✅ Detailed problem description with example output
  • Fixes: tag present
  • ✅ Authorship and sign-off chain correct for FROMLIST commits
  • ✅ Self-contained change (adds flag definition and uses it)

Recommendation: The commit message structure and metadata are correct. Full diff validation requires network access to fetch the upstream lore patch. If the lore link is accessible, the patch should be compared byte-for-byte to ensure faithful representation.

Final Summary

  1. Lore link present: Yes — https://lore.kernel.org/linux-wireless/20260704073000.3300099-1-miaoqing.pan@oss.qualcomm.com/
  2. Lore link matches PR commits: Cannot verify — network restricted; unable to fetch lore patch for comparison
  3. Upstream patch status: Cannot verify — network restricted; unable to fetch lore thread. Patch posted 2026-07-04 (very recent, likely still under review)
  4. PR present in qcom-next: No — searched by subject, file paths, and diff fingerprint; not found in qcom-next (expected for recent FROMLIST patch)

@qlijarvis

Copy link
Copy Markdown

PR #807 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 2 warnings: long commit line (75 chars), unknown commit ID
dt-binding-check ⏭️ No binding changes
dtb-check ⏭️ No DTS changes
sparse-check Passed
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance Content mismatch with upstream link
tag-check Subject has valid FROMLIST: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #807 - FROMLIST: wifi: ath12k: fix ML-STA authentication timeout
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/28706186790
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch 2 warnings: long commit line (75 chars), unknown commit ID
dt-binding-check ⏭️ No binding changes
dtb-check ⏭️ No DTS changes
sparse-check Passed
check-uapi-headers ⏭️ No UAPI changes
check-patch-compliance Content mismatch with upstream link
tag-check Subject has valid FROMLIST: prefix

❌ checkpatch

Root cause: Two style warnings — one for a long Tested-on: line (79 chars) and one for an unknown commit ID in the Fixes: tag.

Failure details:

WARNING: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#25: 
Tested-on: QCC2072 hw1.0 PCI WLAN.COL.1.0.c2-00068-QCACOLSWPL_V1_TO_SILICONZ-1

WARNING: Unknown commit id 'd8e1f4a19310', maybe rebased or not pulled?
#28: 
Fixes: d8e1f4a19310 ("wifi: ath12k: enable QCC2072 support")

cda321c3cfc36bb354062c06d48c78c589784c01 total: 0 errors, 2 warnings, 0 checks, 17 lines checked

Analysis:

  1. Long line warning (79 chars): The Tested-on: line at Prepare qcom-next based on tag 'Linux 6.15' of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git #25 exceeds the 75-character recommendation. However, this is a hardware identifier string that cannot be meaningfully wrapped without breaking readability. This is a false positiveTested-on: lines with long hardware identifiers are acceptable in wireless driver patches.

  2. Unknown commit ID warning: The Fixes: tag references commit d8e1f4a19310 which is not present in the qcom-6.18.y branch at the time of the check. This is expected when backporting a fix from a newer kernel version or when the original commit exists in a different tree. This is informational only — the commit ID is valid in the upstream context.

Fix: No action required. Both warnings are acceptable for this patch:

  • The Tested-on: line is a standard wireless driver metadata format
  • The Fixes: tag correctly references the upstream commit that introduced the issue

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git a1690589c9de..cda321c3cfc3

❌ check-patch-compliance

Root cause: The patch content in the PR differs from the upstream patch at the provided lore.kernel.org link.

Failure details:

Checking commit: FROMLIST: wifi: ath12k: fix ML-STA authentication timeout
Change is different from the one mentioned in Link

Analysis:

The checker detected that the patch applied in the PR does not exactly match the patch posted at:
https://lore.kernel.org/linux-wireless/20260704073000.3300099-1-miaoqing.pan@oss.qualcomm.com/

This can occur for several reasons:

  1. Context differences — The patch was posted against a different baseline (likely mainline or wireless-next) and needed context adjustments for qcom-6.18.y
  2. Backport adaptations — The target code structure in qcom-6.18.y may differ from the upstream tree
  3. Timing — The patch may have been updated on the mailing list after the PR was created

Fix: Verify the content difference:

# Fetch the upstream patch
b4 am --single-message -C -l -3 https://lore.kernel.org/linux-wireless/20260704073000.3300099-1-miaoqing.pan@oss.qualcomm.com/ -o /tmp/upstream

# Compare the actual code changes (ignoring context)
git format-patch -1 cda321c3cfc3 --stdout | awk '/^diff/,/^--$/' | grep -E '^[+-][^+-]' > /tmp/pr-changes
awk '/^diff/,/^--$/' /tmp/upstream/*.mbx | grep -E '^[+-][^+-]' > /tmp/upstream-changes
diff /tmp/pr-changes /tmp/upstream-changes

Expected outcome:

  • If the diff shows only context line differences (line numbers shifted) → acceptable adaptation
  • If the actual +/- code changes are identical → false positive due to context
  • If there are genuine code differences → document the adaptation reason in the commit message

Recommendation: Review the content difference manually. If the changes are functionally equivalent (context-only differences), this is acceptable for a backport to qcom-6.18.y. If there are genuine code differences, add a note to the commit message explaining the adaptation.


Verdict

2 issues to review before merge:

  1. check-patch-compliance content mismatch — Verify that the patch content matches the upstream intent. If this is a legitimate backport adaptation for qcom-6.18.y, document the reason in the commit message or PR description.

  2. checkpatch warnings — Both warnings are acceptable and do not block merge:

    • Long Tested-on: line is standard wireless driver format
    • Unknown commit ID in Fixes: tag is expected for backports

Recommended action: Manually verify the content difference with the upstream patch using the commands above. If the changes are context-only or legitimate adaptations, the PR can be merged as-is. If there are unexplained code differences, clarify with the patch author.

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.

2 participants