linux/drivers/net
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
..
appletalk
arcnet lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
bonding Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-03-04 17:31:39 -08:00
caif virtio: allow drivers to request IRQ affinity when creating VQs 2017-02-27 20:54:04 +02:00
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-03-04 17:31:39 -08:00
cris
dsa net:dsa:mv88e6xxx: use watchdog ops for 6097 chip 2017-02-14 11:45:28 -05:00
ethernet amd-xgbe: Fix jumbo MTU processing on newer hardware 2017-03-15 15:36:59 -07:00
fddi
fjes fjes: Fix wrong netdevice feature flags 2017-03-15 12:43:23 -07:00
hamradio driver core patches for 4.11-rc1 2017-02-22 11:44:32 -08:00
hippi
hyperv netvsc: handle select_queue when device is being removed 2017-03-12 23:13:41 -07:00
ieee802154
ipvlan ipvtap: IP-VLAN based tap driver 2017-02-11 20:59:41 -05:00
irda sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
phy net: phy: marvell: Fix double free of hwmon device 2017-03-09 22:41:03 -08:00
plip
ppp sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
slip sched/headers: Prepare for new header dependencies before moving code to <linux/sched/signal.h> 2017-03-02 08:42:29 +01:00
team team: use ETH_MAX_MTU as max mtu 2017-03-08 22:19:17 -08:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-03-04 17:31:39 -08:00
vmxnet3 drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00
wan ucc/hdlc: fix two little issue 2017-03-13 21:53:48 -07:00
wimax net: wimax/i2400m: fix NULL-deref at probe 2017-03-13 12:28:40 -07:00
wireless iwlwifi: mvm: cleanup pending frames in DQA mode 2017-03-16 09:53:39 +02:00
xen-netback xen-netback: fix race condition on XenBus disconnect 2017-03-12 23:44:43 -07:00
dummy.c
eql.c
geneve.c geneve: lock RCU on TX path 2017-03-01 09:58:31 -08:00
gtp.c lib/vsprintf.c: remove %Z support 2017-02-27 18:43:47 -08:00
ifb.c
Kconfig vmxnet3: prevent building with 64K pages 2017-02-17 15:25:49 -05:00
LICENSE.SRC
loopback.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-02-11 02:31:11 -05:00
macsec.c macsec: fix validation failed in asynchronous operation. 2017-02-21 13:13:51 -05:00
macvlan.c tap: Abstract type of virtual interface from tap implementation 2017-02-11 20:59:41 -05:00
macvtap.c sched/headers: Prepare to move signal wakeup & sigpending methods from <linux/sched.h> into <linux/sched/signal.h> 2017-03-02 08:42:32 +01:00
Makefile ipvtap: IP-VLAN based tap driver 2017-02-11 20:59:41 -05:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c sched/headers: Move task_struct::signal and task_struct::sighand types and accessors into <linux/sched/signal.h> 2017-03-03 01:43:37 +01:00
tun.c tun: fix premature POLLOUT notification on tun devices 2017-03-13 22:00:17 -07:00
veth.c
virtio_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-03-04 17:31:39 -08:00
vrf.c vrf: Fix use-after-free in vrf_xmit 2017-03-08 23:10:02 -08:00
vxlan.c vxlan: fix ovs support 2017-03-13 16:03:42 -07:00
xen-netfront.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2017-02-22 10:15:09 -08:00