]> git.ipfire.org Git - thirdparty/linux.git/commit
wifi: ath12k: Fix peer lookup in ath12k_dp_mon_rx_deliver_msdu()
authorHari Chandrakanthan <quic_haric@quicinc.com>
Thu, 24 Jul 2025 04:05:52 +0000 (09:35 +0530)
committerJeff Johnson <jeff.johnson@oss.qualcomm.com>
Sat, 20 Sep 2025 14:57:26 +0000 (07:57 -0700)
commit7ca61ed8b3f3fc9a7decd68039cb1d7d1238c566
treee3a0cbc33d24414d2167d03a2d1d27c4d745a034
parentdcdb05a43df9d2e40116a1ddd1460846bd98a6e0
wifi: ath12k: Fix peer lookup in ath12k_dp_mon_rx_deliver_msdu()

In ath12k_dp_mon_rx_deliver_msdu(), peer lookup fails because
rxcb->peer_id is not updated with a valid value. This is expected
in monitor mode, where RX frames bypass the regular RX
descriptor path that typically sets rxcb->peer_id.
As a result, the peer is NULL, and link_id and link_valid fields
in the RX status are not populated. This leads to a WARN_ON in
mac80211 when it receives data frame from an associated station
with invalid link_id.

Fix this potential issue by using ppduinfo->peer_id, which holds
the correct peer id for the received frame. This ensures that the
peer is correctly found and the associated link metadata is updated
accordingly.

Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1

Fixes: bd00cc7e8a4c ("wifi: ath12k: replace the usage of rx desc with rx_info")
Signed-off-by: Hari Chandrakanthan <quic_haric@quicinc.com>
Signed-off-by: Aishwarya R <aishwarya.r@oss.qualcomm.com>
Reviewed-by: Baochen Qiang <baochen.qiang@oss.qualcomm.com>
Reviewed-by: Vasanthakumar Thiagarajan <vasanthakumar.thiagarajan@oss.qualcomm.com>
Link: https://patch.msgid.link/20250724040552.1170642-1-aishwarya.r@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
drivers/net/wireless/ath/ath12k/dp_mon.c