On Wed, Aug 6, 2025 at 10:23 PM Jeff Johnson <jeff.johnson@xxxxxxxxxxxxxxxx> wrote: > > On 8/6/2025 12:00 AM, Zhi-Jun You wrote: > > When a STA is marked as no longer authorized, if the driver doesn't > > implement flush_sta(), mac80211 calls ieee80211_flush_queues() to > > flush hardware queues to avoid sending unencrypted frames. > > > > This has became a problem for ath10k because ieee80211_flush_queues() > > will stop all traffic and call ath10k_flush, which waits until the > > whole HW queue is empty. In a busy environment this will trigger a > > timeout warning and stalls other STAs. > > > > Fix this by implementing flush_sta method using WMI command to flush > > frames of a specific STA. > > Flushed frames will be marked as discard in tx complete indication. > > > > ops->flush_sta will be set to NULL if htt.disable_tx_comp is set to > > true. > > > > Tested-on: QCA9984 hw1.0 PCI 10.4-3.9.0.2-00157 > > > > Signed-off-by: Zhi-Jun You <hujy652@xxxxxxxxx> > > --- > > There is already a patch from Remi pending for this, see: > https://msgid.link/cover.1732293922.git.repk@xxxxxxxxxxxx > > Please see if that series addresses your needs. > > First Kalle, and then I, held this back due to lack of internal validation > across supported platforms, but it is actually still on my TODO list: > https://patchwork.kernel.org/project/linux-wireless/list/?series=911851 > > Let me make one more validation request internally since I know there is at > least one ath10k-based project with active development. > > /jeff Hi Jeff, I am aware of the series and glad to know it's still on the list. I did test with it but the warning can still be triggered easily with the instructions in Remi's series. And according to other people's reports it can still block sometimes. [0] drv_flush_sta() is called before clearing the keys and Remi's approach still waits for the frames to be sent which imo isn't enough in this situation. [0]: https://github.com/openwrt/openwrt/pull/19427#issuecomment-3102794793 Best regards, Zhi-Jun You