[PATCH ath-next v5 00/11] wifi: ath12k: resolve RX link id via logical link id on WCN7850/QCC2072
Baochen Qiang
baochen.qiang at oss.qualcomm.com
Mon Nov 9 22:40:21 PST 2026
ath12k currently relies on hardware link id to resolve the link peer. This
works for QCN9274, IPQ5332 and IPQ5424 but breaks WCN7850/QCC2072 which use
logical link id instead. Commit a2fe9dc70f3b ("wifi: ath12k: Fix low MLO RX
throughput on WCN7850") tries to fix it using peer_id but actually that fix
doesn't work always. From user PoV, current code has datapath issues like
EAPOL frames getting dropped on QCC2072, and finally MLO connection failes.
Add support for logical link id based link peer resolution to fix it.
---
Changes in v5:
- rebased on ToT
- collect tags given.
- Link to v4: https://lore.kernel.org/r/20261102-ath12k-logical-link-id-v4-0-f4c7807c299b@oss.qualcomm.com
---
Baochen Qiang (11):
wifi: ath12k: fix potential OOB access due to unverified hardware link id
wifi: ath12k: skip hw link id match for devices without hw link id support
wifi: ath12k: rename ath12k_dp_peer::hw_links to link_id_map
wifi: ath12k: rename ath12k_dp_link_peer::hw_link_id to drv_link_id
wifi: ath12k: rename ath12k_skb_rxcb::hw_link_id to drv_link_id
wifi: ath12k: derive device id without drv_link_id for single device group
wifi: ath12k: add support for HTT_T2H_MSG_TYPE_PEER_EXTENDED event
wifi: ath12k: allocate logical link id on host when firmware does not report it
wifi: ath12k: derive REO RX drv_link_id per device via HAL ops
wifi: ath12k: derive WBM RX drv_link_id per device via HAL ops
wifi: ath12k: use link_id_map to resolve RX link id for all devices
drivers/net/wireless/ath/ath12k/core.c | 1 +
drivers/net/wireless/ath/ath12k/core.h | 3 +-
drivers/net/wireless/ath/ath12k/dp.c | 18 +++
drivers/net/wireless/ath/ath12k/dp.h | 1 +
drivers/net/wireless/ath/ath12k/dp_cmn.h | 3 +
drivers/net/wireless/ath/ath12k/dp_htt.c | 17 +++
drivers/net/wireless/ath/ath12k/dp_htt.h | 15 ++
drivers/net/wireless/ath/ath12k/dp_peer.c | 170 +++++++++++++++++----
drivers/net/wireless/ath/ath12k/dp_peer.h | 26 +++-
drivers/net/wireless/ath/ath12k/dp_rx.c | 8 +-
drivers/net/wireless/ath/ath12k/dp_rx.h | 16 +-
drivers/net/wireless/ath/ath12k/hal.h | 6 +-
drivers/net/wireless/ath/ath12k/hw.h | 22 +--
drivers/net/wireless/ath/ath12k/mac.c | 53 ++++++-
drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c | 112 +++++++-------
drivers/net/wireless/ath/ath12k/wifi7/dp_rx.h | 8 +-
.../net/wireless/ath/ath12k/wifi7/hal_qcc2072.c | 8 +-
.../net/wireless/ath/ath12k/wifi7/hal_qcn9274.c | 16 +-
.../net/wireless/ath/ath12k/wifi7/hal_qcn9274.h | 1 -
.../net/wireless/ath/ath12k/wifi7/hal_wcn7850.c | 17 ++-
.../net/wireless/ath/ath12k/wifi7/hal_wcn7850.h | 6 +-
drivers/net/wireless/ath/ath12k/wifi7/hw.c | 17 ++-
drivers/net/wireless/ath/ath12k/wmi.h | 1 +
23 files changed, 403 insertions(+), 142 deletions(-)
---
base-commit: e3485cc885b81314c814a43db2255b1f9100928f
change-id: 20260728-ath12k-logical-link-id-aef2481822eb
Best regards,
--
Baochen Qiang <baochen.qiang at oss.qualcomm.com>
More information about the ath12k
mailing list