Skip to content

FROMLIST: wifi: ath12k: support firmware-allocated MLD peer ID - #909

Open
GaoleZhangHaha wants to merge 8 commits into
qualcomm-linux:qcom-6.18.yfrom
GaoleZhangHaha:qcom-6.18.y_1
Open

FROMLIST: wifi: ath12k: support firmware-allocated MLD peer ID#909
GaoleZhangHaha wants to merge 8 commits into
qualcomm-linux:qcom-6.18.yfrom
GaoleZhangHaha:qcom-6.18.y_1

Conversation

@GaoleZhangHaha

Copy link
Copy Markdown

ath12k currently assumes the host allocates the MLD peer ID and passes
it down to firmware via WMI_PEER_ASSOC_CMDID. This works on QCN9274
but breaks WCN7850/QCC2072, whose firmware always picks the ID itself
and reports it back through HTT_T2H_MSG_TYPE_MLO_RX_PEER_MAP. As a
result dp_hw->dp_peers[] is never populated for MLO peers and the data
path lookup fails. On QCC2072 the firmware additionally crashes on MLO
disconnect when ATH12K_WMI_FLAG_MLO_PEER_ID_VALID was set in the peer
assoc command.

Add a host_alloc_ml_id hw_param to branch behavior, defer the
dp_peers[] publish to the HTT event for firmware-allocated chips, and
propagate the firmware-assigned ID through the existing host
bookkeeping when it arrives.

Patch summary:

1: fix for an out-of-bounds clear_bit() in ath12k_mac_dp_peer_cleanup().
2: group peer assoc send-and-wait into a helper.
3: refactor, keep ATH12K_PEER_ML_ID_VALID set in ahsta->ml_peer_id
so later patches do not have to OR or mask it at every call site;
4: parse the HTT_T2H_MSG_TYPE_MLO_RX_PEER_MAP message;
5: introduce hw_param host_alloc_ml_id, set true on QCN9274 family
and false on WCN7850/QCC2072;
6: on host_alloc_ml_id == false, leave peer_id_valid unset and send
ml_peer_id == 0 in WMI_PEER_ASSOC_CMDID;
7: on host_alloc_ml_id == false, mark ahsta->ml_peer_id and
dp_peer->peer_id as ATH12K_MLO_PEER_ID_PENDING and skip the
dp_hw->dp_peers[] publish until the firmware reports the ID;
8: in the MLO_RX_PEER_MAP handler, propagate the firmware-assigned
ID into dp_peer->peer_id, every dp_link_peer in
dp_peer->link_peers[], and ahsta->ml_peer_id, all under
dp_hw->peer_lock.

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

Link: https://lore.kernel.org/linux-wireless/20260713-ath12k-fw-allocated-ml-peer-id-v1-0-d0a2a1a519eb@oss.qualcomm.com/

CRs-Fixed: 4459878

Baochen Qiang added 8 commits August 6, 2026 14:31
…peer_cleanup()

ath12k_mac_dp_peer_cleanup() clears the ML peer ID slot on the
free_ml_peer_id_map bitmap by indexing it with dp_peer->peer_id. That is
wrong: dp_peer->peer_id for an MLO peer always carries the
ATH12K_PEER_ML_ID_VALID bit (BIT(13)), so clear_bit() is invoked with
index >= 0x2000, which is far outside the bitmap of ATH12K_MAX_MLO_PEERS
(256) bits and corrupts memory adjacent to ah->free_ml_peer_id_map. The
intended bitmap entry also never gets cleared, so subsequent
ath12k_peer_ml_alloc() calls eventually run out of IDs.

The ID without the VALID bit is what ath12k_peer_ml_alloc() returned and
is stored in ahsta->ml_peer_id. Use that instead.

While there, also reset ahsta->ml_peer_id to ATH12K_MLO_PEER_ID_INVALID so
the bitmap and ahsta->ml_peer_id stay in sync;

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

Fixes: ee16dcf ("wifi: ath12k: Define ath12k_dp_peer structure & APIs for create & delete")
Link: https://lore.kernel.org/linux-wireless/20260713-ath12k-fw-allocated-ml-peer-id-v1-1-d0a2a1a519eb@oss.qualcomm.com/
Signed-off-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Signed-off-by: Gaole Zhang <gaole.zhang@oss.qualcomm.com>
…lper

ath12k_bss_assoc(), ath12k_mac_station_assoc() and
ath12k_sta_rc_update_wk() all open-code the same sequence: reinit the
peer_assoc_done completion, send the peer assoc WMI command, then wait
for the firmware confirmation event. The reinit_completion() was buried
in ath12k_peer_assoc_prepare(), far from the wait_for_completion_timeout()
that consumes it, making the reinit/send/wait sequence hard to follow,
and the three open-coded copies are easy to get out of sync.

Move the sequence into a new helper ath12k_mac_peer_assoc() and call it
from all three sites. The reinit, send and wait now live together so the
completion's lifecycle is easy to read.

While at it, ath12k_sta_rc_update_wk() previously warned but still
waited the full timeout when the peer assoc command failed to send. Now
a send failure returns immediately and skips the pointless 1 second
wait, matching the other two callers.

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

Link: https://lore.kernel.org/linux-wireless/20260713-ath12k-fw-allocated-ml-peer-id-v1-2-d0a2a1a519eb@oss.qualcomm.com/
Signed-off-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Signed-off-by: Gaole Zhang <gaole.zhang@oss.qualcomm.com>
…a::ml_peer_id

Several pieces of host bookkeeping for MLD peer IDs encode the
same fact in different ways:

  - ath12k_sta::ml_peer_id stores the raw ID in [0, ATH12K_MAX_MLO_PEERS);
  - ath12k_dp_peer::peer_id, ath12k_dp_link_peer::ml_id and the index used
    on ath12k_dp_hw::dp_peers[] always carry the ATH12K_PEER_ML_ID_VALID
    bit (BIT(13)) when the ID is real;
  - WMI_MLO_PEER_ASSOC_PARAMS::ml_peer_id sent down to firmware is
    raw, without the bookkeeping bit.

The mismatch leaks into call sites that have to remember to OR
the bit in (ath12k_peer_create(), ath12k_mac_op_sta_state()) or
remember not to (ath12k_peer_assoc_h_mlo()).

Make ath12k_sta::ml_peer_id carry the VALID bit when valid, the same
way ath12k_dp_peer::peer_id and ath12k_dp_link_peer::ml_id do:

  - ath12k_peer_ml_alloc() OR-s the bit in once on the way out;
    the internal bitmap stays raw [0, ATH12K_MAX_MLO_PEERS);
  - ath12k_peer_create() and ath12k_mac_op_sta_state() drop the
    explicit OR;
  - ath12k_peer_assoc_h_mlo() masks the bit off when populating
    the WMI ml_peer_id;

While there, introduce ath12k_peer_ml_free() to mirror
ath12k_peer_ml_alloc(), which helps avoid code duplication.

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

Link: https://lore.kernel.org/linux-wireless/20260713-ath12k-fw-allocated-ml-peer-id-v1-3-d0a2a1a519eb@oss.qualcomm.com/
Signed-off-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Signed-off-by: Gaole Zhang <gaole.zhang@oss.qualcomm.com>
Firmware on chips that allocate the MLD peer ID itself (WCN7850 and
QCC2072) reports the assignment back to the host through
HTT_T2H_MSG_TYPE_MLO_RX_PEER_MAP. The message carries the chosen
MLD peer id, the MLD MAC address etc.

Add the message type, the on-the-wire struct, the field masks and a
handler that parses them out. The host-side state update (publishing the
dp peer into ath12k_dp_hw::dp_peers[], propagating the ID to
ath12k_dp_link_peer::ml_id and ath12k_sta::ml_peer_id) is added in a
follow-up patch;

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

Link: https://lore.kernel.org/linux-wireless/20260713-ath12k-fw-allocated-ml-peer-id-v1-4-d0a2a1a519eb@oss.qualcomm.com/
Signed-off-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Signed-off-by: Gaole Zhang <gaole.zhang@oss.qualcomm.com>
Different ath12k devices diverge on who allocates MLD peer id:
WCN7850/QCC2072 have the firmware allocate it and notify the host via
HTT_T2H_MSG_TYPE_MLO_RX_PEER_MAP event; While others let the host allocate
it and pass it down through WMI_PEER_ASSOC_CMDID with
ATH12K_WMI_FLAG_MLO_PEER_ID_VALID set.

Currently ath12k host allocates this ID and sends it to firmware by
default for all devices. This breaks WCN7850/QCC2072, because the host
maintained ID may be different from the firmware-allocated one.
Consequently data path may fail to find the dp peer and drop some received
packets. From user point of view, this results in bugs reported in [1] or
the 4-way handshake timeout issue.

Add host_alloc_ml_id flag to struct ath12k_hw_params (and a copy on struct
ath12k_hw for hot-path access) so subsequent patches can branch on it. Set
true for QCN9274/IPQ5332/IPQ5424, false for WCN7850/QCC2072. The flag will
be consumed by subsequent patches.

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

Link: https://bugzilla.kernel.org/show_bug.cgi?id=221039 # 1
Link: https://lore.kernel.org/linux-wireless/20260713-ath12k-fw-allocated-ml-peer-id-v1-5-d0a2a1a519eb@oss.qualcomm.com/
Signed-off-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Signed-off-by: Gaole Zhang <gaole.zhang@oss.qualcomm.com>
…ocate devices

ath12k_peer_assoc_h_mlo() unconditionally sets ml->peer_id_valid and copies
ahsta->ml_peer_id (with the ATH12K_PEER_ML_ID_VALID bookkeeping bit masked
off) into the WMI_PEER_ASSOC_CMDID ML params, which causes
ath12k_wmi_send_peer_assoc_cmd() to set ATH12K_WMI_FLAG_MLO_PEER_ID_VALID.
This needs to be gated on chips where the firmware allocates the MLD peer
ID:

  - WCN7850/QCC2072 firmware always picks the ID itself and does not honor
    a host-supplied one, so the value would be silently ignored anyway;
  - QCC2072 firmware additionally crashes during MLO disconnect when
    ATH12K_WMI_FLAG_MLO_PEER_ID_VALID was set in the preceding peer assoc,
    so the bit must not be sent at all.

Branch on ah->host_alloc_ml_id:

  - When true (QCN9274 etc.), behavior is unchanged: peer_id_valid is set
    and the raw ahsta->ml_peer_id (without the VALID bit) is sent down.
  - When false (WCN7850, QCC2072), peer_id_valid stays unset and
    ml_peer_id is sent as 0. The firmware ignores both fields and reports
    the ID it allocated through HTT_T2H_MSG_TYPE_MLO_RX_PEER_MAP.

The early-return on ahsta->ml_peer_id == ATH12K_MLO_PEER_ID_INVALID only
applies on the host-alloc path, since on the firmware-alloc path the value
is ATH12K_MLO_PEER_ID_PENDING here, not INVALID.

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

Link: https://lore.kernel.org/linux-wireless/20260713-ath12k-fw-allocated-ml-peer-id-v1-6-d0a2a1a519eb@oss.qualcomm.com/
Signed-off-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Signed-off-by: Gaole Zhang <gaole.zhang@oss.qualcomm.com>
…cates MLD peer ID

For chips with host_alloc_ml_id=true (QCN9274 etc.), the host allocates
the MLD peer ID up front; ath12k_dp_peer_create() publishes the dp_peer
into dp_hw->dp_peers[] using that ID immediately. WCN7850/QCC2072 does
not work that way: the firmware picks the ID and only tells the host
afterwards via HTT_T2H_MSG_TYPE_MLO_RX_PEER_MAP, so the publication has
to be delayed until the event arrives.

Introduce ATH12K_MLO_PEER_ID_PENDING (0xFFFE) as a sentinel for "is_mlo,
but ID not yet known". On the firmware-allocates path:

  - ath12k_mac_op_sta_state(NOTEXIST->NONE) skips ath12k_peer_ml_alloc()
    and stores PENDING in ahsta->ml_peer_id and dp_params.peer_id;
  - ath12k_dp_peer_create() skips dp_peer registration until a real ID is
    known;
  - ath12k_peer_create() leaves peer->ml_id at INVALID so consumer sites
    do not treat PENDING as a real ID;
  - ath12k_peer_ml_free() and ath12k_mac_dp_peer_cleanup() skip the
    dp_peers[] write and the free_ml_peer_id_map clear when
    host_alloc_ml_id is false or the ID is still PENDING.

The HTT handler change that resolves the PENDING ID is added in a
follow-up patch.

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

Link: https://lore.kernel.org/linux-wireless/20260713-ath12k-fw-allocated-ml-peer-id-v1-7-d0a2a1a519eb@oss.qualcomm.com/
Signed-off-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Signed-off-by: Gaole Zhang <gaole.zhang@oss.qualcomm.com>
…HTT event

Add ath12k_dp_peer_fixup_peer_id() and call it from the
HTT_T2H_MSG_TYPE_MLO_RX_PEER_MAP handler. For devices where the
firmware allocates the MLD peer ID, this is the point at which
all data structures that were left with ATH12K_MLO_PEER_ID_PENDING
or ATH12K_MLO_PEER_ID_INVALID get their real ID:

  - dp_peer->peer_id is updated and the dp_peer is published into
    dp_hw->dp_peers[];
  - every existing dp_link_peer in dp_peer->link_peers[] gets its
    ml_id set to the same value;
  - ahsta->ml_peer_id is updated to the same value so peer_assoc,
    sta_state and cleanup paths see a consistent ID.

Devices with host_alloc_ml_id == true also receive the same HTT
event, but the firmware-reported ID always matches the
host-allocated one and everything has already been populated by
ath12k_dp_peer_create(); Skips the helper entirely on those devices.

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

Closes: https://bugzilla.kernel.org/show_bug.cgi?id=221039
Link: https://lore.kernel.org/linux-wireless/20260713-ath12k-fw-allocated-ml-peer-id-v1-8-d0a2a1a519eb@oss.qualcomm.com/
Signed-off-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Signed-off-by: Gaole Zhang <gaole.zhang@oss.qualcomm.com>
@GaoleZhangHaha GaoleZhangHaha changed the title FROMLIST: wifi: ath12k: support firmware-allocated MLD peer ID- #905 FROMLIST: wifi: ath12k: support firmware-allocated MLD peer ID Aug 6, 2026
@qlijarvis

Copy link
Copy Markdown

PR #909 — validate-patch

PR: #909

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: Yes — all 8 commits have correct Link: tags pointing to https://lore.kernel.org/linux-wireless/20260713-ath12k-fw-allocated-ml-peer-id-v1-{1..8}-d0a2a1a519eb@oss.qualcomm.com/
  2. Lore link matches PR commits: Yes — diff content is identical; line number shifts are context-only deltas due to different base tree
  3. Upstream patch status: ⏳ Decision Pending — series posted 2026-07-13 to linux-wireless; no maintainer decision yet after 3.5 weeks; no acceptance or rejection signals found
  4. PR present in qcom-next/topics: Yes - all 8 commit(s) are present in qcom-next or topics
Verdict: ✅ — click to expand

🔍 Patch Validation

PR: #909 - wifi: ath12k: support firmware-allocated MLD peer ID (8 commits)
Upstream commit: https://lore.kernel.org/linux-wireless/20260713-ath12k-fw-allocated-ml-peer-id-v1-0-d0a2a1a519eb@oss.qualcomm.com/
Verdict: ✅ PASS

Commit Message

Check Status Note
Subject matches upstream All 8 commits: subjects match lore with FROMLIST: prefix correctly added
Body preserves rationale Bug descriptions, fix rationale, and technical details preserved verbatim
Fixes tag present/correct Patch 1/8 has correct Fixes tag; others don't require one
Authorship preserved Original author Baochen Qiang preserved in From: and Signed-off-by:; submitter Gaole Zhang correctly added their Signed-off-by:
Backport note (if applicable) N/A FROMLIST commits don't require backport notes

Diff

File Status Notes
drivers/net/wireless/ath/ath12k/mac.c Code changes identical; line number shifts are context-only deltas
drivers/net/wireless/ath/ath12k/peer.c Code changes identical; line number shifts are context-only deltas
drivers/net/wireless/ath/ath12k/peer.h Code changes identical
drivers/net/wireless/ath/ath12k/dp_rx.c Code changes identical
drivers/net/wireless/ath/ath12k/dp.c Code changes identical
drivers/net/wireless/ath/ath12k/dp.h Code changes identical
drivers/net/wireless/ath/ath12k/core.h Code changes identical
drivers/net/wireless/ath/ath12k/hw.h Code changes identical
drivers/net/wireless/ath/ath12k/hw.c Code changes identical

Diff comparison summary: All hunks match the lore patches exactly. Line number differences (e.g., @@ -1283 vs @@ -1280) are legitimate context shifts due to the PR being applied to a slightly different base tree. No semantic changes, no missing hunks, no extra hunks.

Upstream Patch Status

Commit Community Verdict
1/8: fix out-of-bounds clear_bit ⏳ Decision Pending — posted 2026-07-13; no maintainer decision yet (3.5 weeks old)
2/8: factor out peer assoc send-and-wait ⏳ Decision Pending — posted 2026-07-13; no maintainer decision yet (3.5 weeks old)
3/8: keep ATH12K_PEER_ML_ID_VALID set ⏳ Decision Pending — posted 2026-07-13; no maintainer decision yet (3.5 weeks old)
4/8: add support for firmware-allocated ⏳ Decision Pending — posted 2026-07-13; no maintainer decision yet (3.5 weeks old)
5/8: introduce host_alloc_ml_id ⏳ Decision Pending — posted 2026-07-13; no maintainer decision yet (3.5 weeks old)
6/8: do not advertise MLD peer ID ⏳ Decision Pending — posted 2026-07-13; no maintainer decision yet (3.5 weeks old)
7/8: defer dp_peer registration ⏳ Decision Pending — posted 2026-07-13; no maintainer decision yet (3.5 weeks old)
8/8: resolve PENDING ML peer ID ⏳ Decision Pending — posted 2026-07-13; no maintainer decision yet (3.5 weeks old)

Status analysis: No acceptance signals (applied, queued, Reviewed-by:, Acked-by:) or rejection signals (NAK, Nacked-by:) found in the lore threads. The series was posted to linux-wireless@vger.kernel.org and ath12k@lists.infradead.org on July 13, 2026. As of August 6, 2026 (3.5 weeks later), the patches are still under community review with no definitive maintainer decision.

qcom-next/topics Presence

Per integration_presence_report.md:

Commit Status
1/8 ✅ Present in topics as 47abd2ca281531deee38a3b3770d885e270e9fc9
2/8 ✅ Present in topics as 21ca38bb6b53a0b610998f370a91e656dc9e0542
3/8 ✅ Present in topics as dd121ed779dd62c7679815f7c5a0b07da60a39bf
4/8 ✅ Present in topics as a08455ee85a2b32a5503b84fdc6b88a144cb2388
5/8 ✅ Present in topics (all added lines verified)
6/8 ✅ Present in topics as 1726a7a10c4fee262549bc6fa142e1051192be0c
7/8 ✅ Present in topics as a7619b3bcba42be62b3b4b941d4175234dce34f0
8/8 ✅ Present in topics as 469d7e6077c1665754eaf330e1feabdca7b060ae

All 8 commits are present in the kernel topic branches (https://github.com/qualcomm-linux/kernel-topics).

Verdict

Merge as-is. All 8 commits faithfully represent their lore upstream sources. The FROMLIST: prefix is correctly applied, authorship is preserved, the submitter's Signed-off-by: is correctly added, commit messages are verbatim, and diff content is identical (line number shifts are legitimate context deltas). All commits are already present in the Qualcomm kernel topic branches.

Final Summary

  1. Lore link present: Yes — all 8 commits have correct Link: tags pointing to https://lore.kernel.org/linux-wireless/20260713-ath12k-fw-allocated-ml-peer-id-v1-{1..8}-d0a2a1a519eb@oss.qualcomm.com/
  2. Lore link matches PR commits: Yes — diff content is identical; line number shifts are context-only deltas due to different base tree
  3. Upstream patch status: ⏳ Decision Pending — series posted 2026-07-13 to linux-wireless; no maintainer decision yet after 3.5 weeks; no acceptance or rejection signals found
  4. PR present in qcom-next/topics: Yes — all 8 commits are present in kernel topic branches with exact patch-id matches (7 commits) or verified added-line presence (1 commit)

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/8 [PATCH 1/8] FROMLIST: wifi: ath12k: fix out-of-bounds clear_bit in partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 47abd2ca281531deee38a3b3770d885e270e9fc9 present
2/8 [PATCH 2/8] FROMLIST: wifi: ath12k: factor out peer assoc partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 21ca38bb6b53a0b610998f370a91e656dc9e0542 present
3/8 [PATCH 3/8] FROMLIST: wifi: ath12k: keep ATH12K_PEER_ML_ID_VALID set partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at dd121ed779dd62c7679815f7c5a0b07da60a39bf present
4/8 [PATCH 4/8] FROMLIST: wifi: ath12k: add support for partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at a08455ee85a2b32a5503b84fdc6b88a144cb2388 present
5/8 [PATCH 5/8] FROMLIST: wifi: ath12k: introduce host_alloc_ml_id partial - subject or partial tree evidence found, but full change was not verified present - all checked added lines are present present
6/8 [PATCH 6/8] FROMLIST: wifi: ath12k: do not advertise MLD peer ID for partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 1726a7a10c4fee262549bc6fa142e1051192be0c present
7/8 [PATCH 7/8] FROMLIST: wifi: ath12k: defer dp_peer registration when partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at a7619b3bcba42be62b3b4b941d4175234dce34f0 present
8/8 [PATCH 8/8] FROMLIST: wifi: ath12k: resolve PENDING ML peer ID from partial - subject or partial tree evidence found, but full change was not verified present - exact patch-id match at 469d7e6077c1665754eaf330e1feabdca7b060ae present

Final Status

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

@qlijarvis

Copy link
Copy Markdown

PR #909 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 8 commits with long "Tested-on:" lines (89 chars); 1 unknown commit warning
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 1 commit with invalid Link: (bugzilla URL)
tag-check All commits have FROMLIST: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #909 - wifi: ath12k firmware-allocated ML peer ID support (8 commits)
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/31078357609

Checker Result Summary
checkpatch 8 commits with long "Tested-on:" lines (89 chars); 1 unknown commit warning
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No devicetree changes
sparse-check Passed
check-uapi-headers Passed
check-patch-compliance 1 commit with invalid Link: (bugzilla URL)
tag-check All commits have FROMLIST: prefix

❌ checkpatch

Root cause: All 8 commits contain a "Tested-on:" line that exceeds the 75-character commit body line length guideline.

Failure details:

WARNING: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#22: 
Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3

This pattern appears in all 8 commits:

Additionally, commit 1/8 has:

WARNING: Unknown commit id 'ee16dcf573d5', maybe rebased or not pulled?

Fix:

The "Tested-on:" line is 89 characters long. This is a standard format used in wireless driver commits and is generally acceptable despite the checkpatch warning. The line contains hardware identification that should not be wrapped as it would break tooling that parses these tags.

Recommendation: These warnings can be safely ignored. The "Tested-on:" tag format is a well-established convention in the wireless subsystem, and the hardware string must remain intact. The "Unknown commit id" warning is expected when referencing commits from upstream that aren't yet in the current tree.

Reproduce locally:

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

❌ check-patch-compliance

Root cause: Commit 5/8 (19834c0) has a bugzilla.kernel.org URL as the first Link: entry, which b4 cannot fetch.

Failure details:

Checking commit: FROMLIST: wifi: ath12k: introduce host_alloc_ml_id hardware parameter
Something seems wrong with the provided link. Please verify it
Try below command to run locally-
b4 am --single-message -C -l -3 https://bugzilla.kernel.org/show_bug.cgi?id=221039 # 1
https://lore.kernel.org/linux-wireless/20260713-ath12k-fw-allocated-ml-peer-id-v1-5-d0a2a1a519eb@oss.qualcomm.com/

The commit message contains:

Link: https://bugzilla.kernel.org/show_bug.cgi?id=221039 # 1
Link: https://lore.kernel.org/linux-wireless/20260713-ath12k-fw-allocated-ml-peer-id-v1-5-d0a2a1a519eb@oss.qualcomm.com/

The checker attempts to fetch the first Link: URL with b4, but b4 only works with lore.kernel.org mailing list URLs, not bugzilla URLs.

Fix:

Reorder the Link: tags so the lore.kernel.org URL comes first:

git rebase -i <base_sha>   # mark commit 19834c0996d2 as 'edit'
git commit --amend
# Edit the commit message to swap the Link: order:
# Link: https://lore.kernel.org/linux-wireless/20260713-ath12k-fw-allocated-ml-peer-id-v1-5-d0a2a1a519eb@oss.qualcomm.com/
# Link: https://bugzilla.kernel.org/show_bug.cgi?id=221039 # 1
git rebase --continue

Alternatively, if the bugzilla link is just a reference and not the primary upstream source, consider moving it to the commit body text (not as a Link: tag) or adding a "Closes:" tag instead:

Closes: https://bugzilla.kernel.org/show_bug.cgi?id=221039
Link: https://lore.kernel.org/linux-wireless/20260713-ath12k-fw-allocated-ml-peer-id-v1-5-d0a2a1a519eb@oss.qualcomm.com/

Reproduce locally:

b4 am --single-message -C -l -3 https://bugzilla.kernel.org/show_bug.cgi?id=221039
# This will fail because b4 expects a lore.kernel.org URL

Verdict

1 blocker to fix before merge:

The check-patch-compliance failure must be resolved by reordering the Link: tags in commit 5/8 so the lore.kernel.org URL comes first. The bugzilla URL should either be moved to a "Closes:" tag or placed after the lore Link:.

The checkpatch warnings about long "Tested-on:" lines are acceptable and do not require changes - this is standard wireless subsystem convention.

Note: According to the integration presence report, all 8 commits in this PR are already present in qcom-next or kernel-topics branches. This suggests the PR may be a backport or sync operation. Ensure the target branch is appropriate for these changes.

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