Sent out today were the networking subsystem fixes for the ongoing Linux 7.0 kernel. These networking fixes in time for Sunday’s Linux 7.0-rc7 release include addressing performance issues within the Qualcomm Ath11k and Ath12k WiFi drivers that have always existed ever since the drivers were upstreamed.
Catching my eye when going through this week’s Linux networking fixes were patches to the newer Atheros “Ath” drivers for avoiding poor performance stemming from the stopping the wrong aggregation session.
– wifi: ath: avoid poor performance due to stopping the wrong aggregation session
This “poor performance” is for both the Ath11k and Ath12k drivers for the Qualcomm 802.11ax and Qualcomm WiFi devices, respectively.
The Ath11k patch explains of the poor performance situation:
“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.”
This issue has existed for the Ath11k driver ever since it was added to the Linux kernel back in 2019.
Similarly, there is an equivalent patch as well for the Ath12k driver codebase to ensure the correct value is passed. That also was present in the Ath12k driver for its entire lifetime since upstreaming in 2022.
The networking fixes for the week also include more input validation for Netfilter to address bugs and prevent possible exploits from broken configurations. There are also other information leak fixes and random wired/wireless networking driver fixes. The full list of networking fixes for the week can be found via this pull that already made it today into Linux Git. While the Ath11k/Ath12k fixes are now in Linux 7.0 Git, they will presumably be back-ported to supported Linux stable kernel/LTS versions in the coming days.
