[PATCH] wifi: ath12k: allow peer_id 0 in dp peer lookup

Baochen Qiang baochen.qiang at oss.qualcomm.com
Thu May 28 00:35:13 PDT 2026



On 5/12/2026 10:57 AM, Hangtian Zhu wrote:
> For some chipsets, firmware can report HTT_T2H_MSG_TYPE_PEER_MAP2 with
> peer_id 0 as a valid value for mapping ath12k_dp_link_peer to
> ath12k_dp_peer.
> 
> ath12k_dp_peer_find_by_peerid() currently treats peer_id 0 as invalid.
> When firmware assigns peer_id 0, peer lookup fails. As a result,
> DHCP OFFER packets are dropped in __ieee80211_rx_handle_packet()
> because pubsta is NULL.
> 
> ath12k_dp_rx_deliver_msdu() <- rx_info->peer_id 0
>   ath12k_dp_peer_find_by_peerid -> peer NULL
>   ieee80211_rx_napi <- pubsta NULL
>     ieee80211_rx_list
>       __ieee80211_rx_handle_packet <- pubsta NULL, skb undelivered
> 
> The following error in the TX completion path is caused by the same issue:
> 
> ath12k_wifi7_pci 0000:04:00.0: dp_tx: failed to find the peer with peer_id 0
> 
> The error message is triggered by:
> ath12k_wifi7_dp_tx_complete_msdu
>   ath12k_dp_link_peer_find_by_peerid <- ts->peer_id 0
>     ath12k_dp_peer_find_by_peerid -> peer NULL
> 
> ath12k_dp_tx_htt_tx_complete_buf
>   ath12k_dp_link_peer_find_by_peerid <- peer_id 0
>     ath12k_dp_peer_find_by_peerid -> peer NULL
> 
> Fix this by allowing peer_id 0 in ath12k_dp_peer_find_by_peerid() and
> rejecting only values >= ATH12K_DP_PEER_ID_INVALID.
> 
> Also update peer_id 0 handling in monitor path:
> Always call ath12k_dp_link_peer_find_by_peerid() in
> ath12k_dp_rx_h_find_link_peer() to fetch the peer, including when
> peer_id is 0.
> Always store peer_id in ppdu_info->peer_id in
> ath12k_wifi7_dp_mon_rx_parse_status_tlv(), including peer_id 0.
> 
> Tested-on: QCC2072 hw1.0 PCI WLAN.COL.1.0.c2-00074-QCACOLSWPL_V1_TO_SILICONZ-1
> Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.1.c7-00108-QCAHMTSWPL_V1.0_V2.0_SILICONZ_UPSTREAM-3
> Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.6-01243-QCAHKSWPL_SILICONZ-1
> 
> Signed-off-by: Hangtian Zhu <hangtian.zhu at oss.qualcomm.com>

Reviewed-by: Baochen Qiang <baochen.qiang at oss.qualcomm.com>




More information about the ath12k mailing list