]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
wifi: ath11k: Pass the correct value of each TID during a stop AMPDU session
authorReshma Immaculate Rajkumar <reshma.rajkumar@oss.qualcomm.com>
Thu, 19 Mar 2026 06:56:08 +0000 (12:26 +0530)
committerJeff Johnson <jeff.johnson@oss.qualcomm.com>
Tue, 24 Mar 2026 13:44:00 +0000 (06:44 -0700)
commite225b36f83d7926c1f2035923bb0359d851fdb73
treeb6b1d982fba170b74c7705d2ad29331d1648a72c
parenta1d9d8e833781c44ab688708804ce35f20f3cbbd
wifi: ath11k: Pass the correct value of each TID during a stop AMPDU session

During ongoing traffic, a request to stop an AMPDU session
for one TID could incorrectly affect other active sessions.
This can happen because an incorrect TID reference would be
passed when updating the BA session state, causing the wrong
session to be stopped. As a result, the affected session would
be reduced to a minimal BA size, leading to a noticeable
throughput degradation.

Fix this issue by passing the correct argument from
ath11k_dp_rx_ampdu_stop() to ath11k_peer_rx_tid_reo_update()
during a stop AMPDU session. Instead of passing peer->tx_tid, which
is the base address of the array, corresponding to TID 0; pass
the value of &peer->rx_tid[params->tid], where the different TID numbers
are accounted for.

Tested-on: QCN9074 hw1.0 PCI WLAN.HK.2.9.0.1-02146-QCAHKSWPL_SILICONZ-1

Fixes: d5c65159f2895 ("ath11k: driver for Qualcomm IEEE 802.11ax devices")
Signed-off-by: Reshma Immaculate Rajkumar <reshma.rajkumar@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/20260319065608.2408179-1-reshma.rajkumar@oss.qualcomm.com
Signed-off-by: Jeff Johnson <jeff.johnson@oss.qualcomm.com>
drivers/net/wireless/ath/ath11k/dp_rx.c