Search Linux Wireless

Re: [RFC PATCH] wifi: ath10k: support flush_sta method

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux