summaryrefslogtreecommitdiff
path: root/drivers/cpufreq/unicore2-cpufreq.c
diff options
context:
space:
mode:
authorSara Sharon <sara.sharon@intel.com>2017-03-14 10:50:35 +0300
committerKalle Valo <kvalo@codeaurora.org>2017-03-16 10:53:39 +0300
commit9a3fcf912ef7f5c6e18f9af6875dd13f7311f7aa (patch)
tree6202776b7699c3e862d0b2323936993662875315 /drivers/cpufreq/unicore2-cpufreq.c
parent22a0e18eac7a9e986fec76c60fa4a2926d1291e2 (diff)
downloadlinux-9a3fcf912ef7f5c6e18f9af6875dd13f7311f7aa.tar.xz
iwlwifi: mvm: cleanup pending frames in DQA mode
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. Reported-and-tested-by: Jens Axboe <axboe@kernel.dk> Reported-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/cpufreq/unicore2-cpufreq.c')
0 files changed, 0 insertions, 0 deletions