linux/drivers/net/wireless/intel/iwlwifi
Sara Sharon 9a3fcf912e 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>
2017-03-16 09:53:39 +02:00
..
dvm iwlwifi: dvm: don't call << operator with a negative value 2017-02-08 17:54:20 +02:00
mvm iwlwifi: mvm: cleanup pending frames in DQA mode 2017-03-16 09:53:39 +02:00
pcie iwlwifi: pcie: set STATUS_RFKILL immediately after interrupt 2017-02-08 17:54:21 +02:00
iwl-1000.c
iwl-2000.c
iwl-5000.c
iwl-6000.c
iwl-7000.c
iwl-8000.c
iwl-9000.c
iwl-a000.c
iwl-agn-hw.h
iwl-config.h
iwl-csr.h
iwl-debug.c
iwl-debug.h
iwl-devtrace-data.h
iwl-devtrace-io.h
iwl-devtrace-iwlwifi.h
iwl-devtrace-msg.h
iwl-devtrace-ucode.h
iwl-devtrace.c
iwl-devtrace.h
iwl-drv.c lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
iwl-drv.h
iwl-eeprom-parse.c
iwl-eeprom-parse.h
iwl-eeprom-read.c
iwl-eeprom-read.h
iwl-fh.h
iwl-fw-error-dump.h
iwl-fw-file.h
iwl-fw.h
iwl-io.c
iwl-io.h
iwl-modparams.h
iwl-notif-wait.c
iwl-notif-wait.h
iwl-nvm-parse.c
iwl-nvm-parse.h
iwl-op-mode.h
iwl-phy-db.c
iwl-phy-db.h
iwl-prph.h
iwl-scd.h
iwl-trans.c
iwl-trans.h
Kconfig iwlwifi: make RTPM depend on EXPERT 2017-02-08 17:54:20 +02:00
Makefile