linux/drivers/net/wireless/ath
Baochen Qiang 469d7e6077 wifi: ath12k: resolve PENDING ML peer ID from MLO_PEER_MAP 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
Signed-off-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Reviewed-by: Rameshkumar Sundaram <rameshkumar.sundaram@oss.qualcomm.com>
Link: https://patch.msgid.link/20260720-ath12k-fw-allocated-ml-peer-id-v2-8-630632758a80@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
2026-07-27 08:00:43 -07:00
..
ar5523 Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
ath5k wifi: cfg80211: remove 5/10 MHz channel support 2026-06-03 14:07:05 +02:00
ath6kl wifi: ath6kl: fix OOB read from firmware IE lengths in connect event 2026-07-13 06:55:18 -07:00
ath9k ath.git update for v7.2-rc4 2026-07-21 13:24:34 +02:00
ath10k wifi: ath10k: fix skb leak on incomplete msdu during rx pop 2026-07-09 07:44:42 -07:00
ath11k wifi: ath11k: Flush the posted write after writing to PCIE_SOC_GLOBAL_RESET 2026-07-09 07:44:42 -07:00
ath12k wifi: ath12k: resolve PENDING ML peer ID from MLO_PEER_MAP HTT event 2026-07-27 08:00:43 -07:00
carl9170 wifi: carl9170: fix buffer overflow in rx_stream failover path 2026-07-13 06:55:20 -07:00
wcn36xx wifi: wcn36xx: allocate chan_surveys with main struct 2026-06-06 08:46:28 -07:00
wil6210 wifi: cfg80211: Add MAC address filter to remain_on_channel 2026-05-05 13:25:27 +02:00
ath.h
debug.c
dfs_pattern_detector.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
dfs_pattern_detector.h
dfs_pri_detector.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
dfs_pri_detector.h
hw.c
Kconfig
key.c
main.c wifi: ath: Add missing include of export.h 2025-06-23 07:28:33 -07:00
Makefile
reg.h
regd_common.h
regd.c
regd.h
spectral_common.h
testmode_i.h wifi: ath: Update copyright in testmode_i.h 2026-06-09 06:50:29 -07:00
trace.c
trace.h