[PATCH v4] wifi: ath11k: fix peer resolution on rx path when peer_id=0
Baochen Qiang
baochen.qiang at oss.qualcomm.com
Mon May 11 20:44:53 PDT 2026
On 4/29/2026 6:47 PM, Praneesh P wrote:
>
> On 4/29/2026 1:06 PM, Baochen Qiang wrote:
>>
>> On 4/24/2026 5:50 PM, Matthew Leach wrote:
>>> It has been observed that on certain chipsets a peer can be assigned
>>> peer_id=0. For reception of non-aggregated MPDUs this is fine as
>>> ath11k_dp_rx_h_find_peer() has a fallback case where it locates the peer
>>> based upon the source MAC address. On an aggregated link, the mpdu_start
>>> header is only populated by hardware on the first sub-MSDU. This causes
>>> the peer resolution to be skipped for the subsequent MSDUs and the
>>> encryption type of these frames to be set to an incorrect value,
>>> resulting in these MSDUs being dropped by ieee80211.
>>>
>>> ath11k_pci 0000:03:00.0: data rx skb 000000002f4b704d len 1534 peer xx:xx:xx:xx:xx:xx 0
>>> ucast sn 3063 he160 rate_idx 9 vht_nss 2 freq 5240 band 1 flag 0x40d1a fcs-err 0 mic-
>>> err 0 amsdu-more 0 peer_id 0 first_msdu 1 last_msdu 0
>>> ath11k_pci 0000:03:00.0: data rx skb 0000000038acd580 len 1534 peer (null) 0 ucast sn
>>> 3063 he160 rate_idx 9 vht_nss 2 freq 5240 band 1 flag 0x40d00 fcs-err 0 mic-err 0
>>> amsdu-more 0 peer_id 0 first_msdu 0 last_msdu 1
>>>
>>> Remove the null peer_id checks in ath11k_dp_rx_h_find_peer() and
>>> ath11k_hal_rx_parse_mon_status_tlv(), allowing peers with an assigned ID
>>> of 0 to be resolved.
>>>
>>> Fixes: 2167fa606c0f ("ath11k: Add support for RX decapsulation offload")
>>> Tested-on: QCA2066 hw2.1 PCI WLAN.HSP.1.1-03926.13-QCAHSPSWPL_V2_SILICONZ_CE-2.52297.9
>> Tested-on: is not an official tag but is ath driver specific, so generally it is put above
>> all official tags:
>>
>> Tested-on: ...
>> <blank line>
>> Fixes: ...
>> s-o-b: ...
>>
>> But since this is trivial I think Jeff can make the change when he merges it, so no need
>> to respin just for it.
> For QCN9074, IPQ8074, IPQ5018 and IPQ6018, Peer_id 0 is not a expected value. Like ath12k,
> it is better to handle it through hw_params.
ath12k takes the same way as used in this patch:
https://lore.kernel.org/all/20260512025732.1297849-1-hangtian.zhu@oss.qualcomm.com/
More information about the ath11k
mailing list