On Thu, Jan 09, 2025 at 03:03:44PM +0200, Kalle Valo wrote: > Remi Pommarel <repk@xxxxxxxxxxxx> writes: > > > It has been reported [0] that a 3-4 seconds (actually up to 5 sec) of > > radio silence could be observed followed by the error below on ath10k > > devices: > > > > ath10k_pci 0000:04:00.0: failed to flush transmit queue (skip 0 ar-state 1): 0 > > > > This is due to how the TX queues are flushed in ath10k. When a STA is > > removed, mac80211 need to flush queues [1], but because ath10k does not > > have a lightweight .flush_sta operation, ieee80211_flush_queues() is > > called instead effectively blocking the whole queue during the drain > > causing this radio silence. Also because ath10k_flush() waits for all > > queued to be emptied, not only the flushed ones it could more easily > > take up to 5 seconds to finish making the whole situation worst. > > > > The first patch of this series adds a .flush_sta operation to flush only > > specific STA traffic avoiding the need to stop whole queues and should > > be enough in itself to fix the reported issue. > > > > The second patch of this series is a proposal to improve ath10k_flush so > > that it will be less likely to timeout waiting for non related queues to > > drain. > > > > The abose kernel warning could still be observed (e.g. flushing a dead > > STA) but should be now harmless. > > > > [0]: https://lore.kernel.org/all/CA+Xfe4FjUmzM5mvPxGbpJsF3SvSdE5_wgxvgFJ0bsdrKODVXCQ@xxxxxxxxxxxxxx/ > > [1]: commit 0b75a1b1e42e ("wifi: mac80211: flush queues on STA removal") > > On what hardware and firmware did you test this? As they can behave very > differently knowing that is really important. This was tested on QCA9888 hw 2.0 10.4-3.10-00076. Not sure to see how a different HW/FW could have prevented that though. -- Remi