Thread (16 messages) flat view 16 messages, 4 authors, 2017-03-16

Re: [PATCH] iwlwifi: mvm: cleanup pending frames in DQA mode

From: Jens Axboe <axboe@kernel.dk>
Date: 2017-03-13 14:24:43

On 03/13/2017 07:14 AM, Luca Coelho wrote:
From: Sara Sharon <redacted>

When a station is asleep, the fw will set it as "asleep".
All queues that are used only by one station will be stopped by
the fw.

In pre-DQA mode this was relevant for aggregation queues. However,
in DQA mode a queue is owned by one station only, so all queues
will be stopped.
As a result, we don't expect to get filtered frames back to
mac80211 and don't have to maintain the entire pending_frames
state logic, the same way as we do in aggregations.

The correct behavior is to align DQA behavior with the aggregation
queue behaviour pre-DQA:
- Don't count pending frames.
- Let mac80211 know we have frames in these queues so that it can
properly handle trigger frames.

When a trigger frame is received, mac80211 tells the driver to send
frames from the queues using release_buffered_frames.
The driver will tell the fw to let frames out even if the station
is asleep. This is done by iwl_mvm_sta_modify_sleep_tx_count.
It fixes the warning for me.

Tested-by: Jens Axboe <axboe@fb.com>

-- 
Jens Axboe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help