How is tx-flushing supposed to work now?

Ben Greear greearb at
Wed Mar 30 13:50:56 PDT 2016

On 03/30/2016 03:38 AM, Michal Kazior wrote:
> On 29 March 2016 at 21:26, Ben Greear <greearb at> wrote:
>> When we have multiple vdevs, and the 10.4.3 firmware with the tx-push logic,
>> how is flushing supposed to work?
> This isn't really as much about pull-push logic in 10.4.3 as it is
> about wake_tx_queue() in general, is it?

In particular, I am curious about the ar->txqs, and the ath10k_mac_tx_push_pending
method.  Should we purge the ar->txqs as part of the flush logic?


>> First, when we get a flush, should we first purge any frames not yet pushed
>> to the firmware?
> I would expect mac80211 to purge txqs.
>> And second, what keeps other vdevs from continuing to transmit frames while
>> one
>> vdev is trying to be flushed?
> Hmm.. I guess ath10k flush() implementation doesn't really do what it
> should. It should wait just for frames for given vif but it waits for
> everything.
> Michał

Ben Greear <greearb at>
Candela Technologies Inc

More information about the ath10k mailing list