On 7/10/2025 9:17 AM, Nithyanantham Paramasivam wrote: > Currently, packets are being received into the WBM error ring when > REO queue lookup is enabled, resulting in degraded RX performance. > The issue arises because the REO queue LUT TID memory reference is > set to zero-it's being assigned before the memory is allocated. > Fix this by assigning the REO queue TID memory reference in the LUT > immediately after memory allocation to ensure correct packet > processing. > > Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPL_SILICONZ-1 > Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 > > Reported-by: Tanguy Serrat <tanguy@xxxxxxxxxxxxx> > Closes: https://bugzilla.kernel.org/show_bug.cgi?id=220282 > Fixes: 3b9cbce6fdd3 ("wifi: ath12k: alloc REO queue per station") > Signed-off-by: Nithyanantham Paramasivam <nithyanantham.paramasivam@xxxxxxxxxxxxxxxx> > --- > drivers/net/wireless/ath/ath12k/dp_rx.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/wireless/ath/ath12k/dp_rx.c b/drivers/net/wireless/ath/ath12k/dp_rx.c > index ed325aa6322d..65b4c91e4fe5 100644 > --- a/drivers/net/wireless/ath/ath12k/dp_rx.c > +++ b/drivers/net/wireless/ath/ath12k/dp_rx.c > @@ -1060,7 +1060,6 @@ int ath12k_dp_rx_peer_tid_setup(struct ath12k *ar, const u8 *peer_mac, int vdev_ > } > > rx_tid = &peer->rx_tid[tid]; > - paddr_aligned = rx_tid->qbuf.paddr_aligned; > /* Update the tid queue if it is already setup */ > if (rx_tid->active) { > ret = ath12k_peer_rx_tid_reo_update(ar, peer, rx_tid, > @@ -1072,6 +1071,7 @@ int ath12k_dp_rx_peer_tid_setup(struct ath12k *ar, const u8 *peer_mac, int vdev_ > } > > if (!ab->hw_params->reoq_lut_support) { > + paddr_aligned = rx_tid->qbuf.paddr_aligned; > ret = ath12k_wmi_peer_rx_reorder_queue_setup(ar, vdev_id, > peer_mac, > paddr_aligned, tid, > @@ -1098,6 +1098,7 @@ int ath12k_dp_rx_peer_tid_setup(struct ath12k *ar, const u8 *peer_mac, int vdev_ > return ret; > } > > + paddr_aligned = rx_tid->qbuf.paddr_aligned; > if (ab->hw_params->reoq_lut_support) { > /* Update the REO queue LUT at the corresponding peer id > * and tid with qaddr. > > base-commit: 45bbd91fc41b7cb6319e45e6fd732c5c8a0c44e3 Reviewed-by: Baochen Qiang <quic_bqiang@xxxxxxxxxxx>