Skip to content

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

Closed
GaoleZhangHaha wants to merge 8 commits into
qualcomm-linux:qcom-6.18.yfrom
GaoleZhangHaha:qcom-6.18.y
Closed

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

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 5, 2026 21:07
…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>
@qlijarvis

Copy link
Copy Markdown

PR #905 — validate-patch

PR: #905

Verdict Issues Detailed Report
0 Full report

Final Summary

  1. Lore link present: Yes — all 8 commits have correct Link: tags pointing to lore.kernel.org message-IDs
  2. Lore link matches PR commits: Yes — diff content is identical to lore patches; line number shifts are due to context differences in the target tree and are expected
  3. Upstream patch status: ⏳ Decision Pending — posted to linux-wireless on July 13, 2026 (3 weeks ago); no maintainer acceptance/rejection signals found in thread; one review comment from Ramesh on commit 5/8 regarding error path handling
  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: #905 - 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: FROMLIST: prefix added correctly; subjects match lore patches
Body preserves rationale Bug descriptions, fix rationale, and technical details preserved faithfully
Fixes tag present/correct Commit 1/8 has correct Fixes tag matching lore; other commits have no Fixes tag as expected
Authorship preserved All commits: From: matches lore author (Baochen Qiang); original author's Signed-off-by: present; submitter (Gaole Zhang) added second Signed-off-by: — correct for FROMLIST:
Backport note (if applicable) N/A Not a backport; FROMLIST: prefix indicates patches posted to mailing list but not yet merged

Diff

File Status Notes
drivers/net/wireless/ath/ath12k/mac.c All 8 commits: code changes identical to lore patches; line number shifts due to context differences in target tree are expected and correct
drivers/net/wireless/ath/ath12k/core.h Commit 5/8: changes match lore patch
drivers/net/wireless/ath/ath12k/hw.h Commit 5/8: changes match lore patch
drivers/net/wireless/ath/ath12k/wifi7/hw.c Commit 5/8: changes match lore patch
drivers/net/wireless/ath/ath12k/dp_rx.c Commit 4/8, 8/8: changes match lore patches
drivers/net/wireless/ath/ath12k/dp_rx.h Commit 4/8: changes match lore patch
drivers/net/wireless/ath/ath12k/peer.h Commit 3/8: changes match lore patch

Verdict

Merge as-is. All 8 commits faithfully represent their upstream lore sources with correct FROMLIST: prefix, preserved authorship, and proper sign-off chain.

Final Summary

  1. Lore link present: Yes — all 8 commits have correct Link: tags pointing to lore.kernel.org message-IDs
  2. Lore link matches PR commits: Yes — diff content is identical to lore patches; line number shifts are due to context differences in the target tree and are expected
  3. Upstream patch status: ⏳ Decision Pending — posted to linux-wireless on July 13, 2026 (3 weeks ago); no maintainer acceptance/rejection signals found in thread; one review comment from Ramesh on commit 5/8 regarding error path handling
  4. PR present in qcom-next/topics: Yes — all 8 commits present in topics branch (exact patch-id matches for 7/8; added-line verification for 1/8)

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 #905 — checker-log-analyzer

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

Checker Result Summary
Checker Result Summary
checkpatch 9 warnings across 8 commits
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No DTS changes
sparse-check Passed
check-uapi-headers No UAPI changes
check-patch-compliance 1 commit with invalid Link
tag-check All commits have FROMLIST: prefix

Detailed report: Full report

Checker analysis — click to expand

🤖 CI Checker Analysis (checker-log-analyzer)

PR: #905 - wifi: ath12k: firmware-allocated ML peer ID support
Source: https://github.com/qualcomm-linux/kernel-config/actions/runs/31009728579
Target branch: qcom-6.18.y

Checker Result Summary
checkpatch 9 warnings across 8 commits
dt-binding-check ⏭️ No DT binding changes
dtb-check ⏭️ No DTS changes
sparse-check Passed
check-uapi-headers No UAPI changes
check-patch-compliance 1 commit with invalid Link
tag-check All commits have FROMLIST: prefix

❌ checkpatch

Root cause: All 8 commits contain long Tested-on: lines exceeding 75 characters, and commit 1 has an unknown commit ID warning.

Failure details:

Commit 1: 80b3e3e2292c - "FROMLIST: wifi: ath12k: fix out-of-bounds clear_bit in ath12k_mac_dp_peer_cleanup()"

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

WARNING: Unknown commit id 'ee16dcf573d5', maybe rebased or not pulled?
#24: 
Fixes: ee16dcf573d5 ("wifi: ath12k: Define ath12k_dp_peer structure & APIs for create & delete")

Commits 2-8: Each has the same Tested-on: line warning (96 characters long).

Fix:

The Tested-on: line warnings are acceptable false positives — kernel wireless subsystem convention allows long Tested-on: lines because hardware identifiers cannot be wrapped. No action needed.

The "Unknown commit id" warning for commit 1 is also acceptable — the Fixes: tag references a commit (ee16dcf573d5) that exists in the upstream tree but may not be present in the qcom-6.18.y branch at the base SHA. This is normal for backports and FROMLIST patches.

Reproduce locally:

./scripts/checkpatch.pl --strict --ignore FILE_PATH_CHANGES --git 8635749eab9a..04a2ba77c1d7

❌ check-patch-compliance

Root cause: Commit 5 (6b98d3b31fda) contains an invalid Link URL pointing to a Bugzilla entry instead of a lore.kernel.org patch.

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 checker attempted to fetch the patch using b4 am but failed because the first Link: line points to a Bugzilla bug report, not a mailing list patch. The second Link (the lore URL) is correct.

Fix:

Remove the Bugzilla Link from commit 5's commit message, keeping only the lore.kernel.org Link:

git rebase -i 8635749eab9a   # mark commit 6b98d3b31fda as 'edit'
# Edit the commit message to remove the Bugzilla Link line
git commit --amend
# Remove this line:
#   Link: https://bugzilla.kernel.org/show_bug.cgi?id=221039
# Keep this line:
#   Link: https://lore.kernel.org/linux-wireless/20260713-ath12k-fw-allocated-ml-peer-id-v1-5-d0a2a1a519eb@oss.qualcomm.com/
git rebase --continue

Reproduce locally:

b4 am --single-message -C -l -3 https://bugzilla.kernel.org/show_bug.cgi?id=221039
# This will fail because Bugzilla is not a valid b4 source

Verdict

1 blocker to fix before merge:

  • check-patch-compliance: Remove the Bugzilla Link from commit 5 (6b98d3b31fda). Keep only the lore.kernel.org Link.

The checkpatch warnings are acceptable false positives (long Tested-on: lines are standard in wireless subsystem; unknown commit ID in Fixes: tag is expected for FROMLIST patches).

@GaoleZhangHaha
GaoleZhangHaha deleted the branch qualcomm-linux:qcom-6.18.y August 6, 2026 02:15
@GaoleZhangHaha
GaoleZhangHaha deleted the qcom-6.18.y branch August 6, 2026 02:15
@GaoleZhangHaha
GaoleZhangHaha restored the qcom-6.18.y branch August 6, 2026 02:16
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