linux-kernel-test/net/mac80211
Johannes Berg 50a9432dae mac80211: fix powersaving clients races
The code to handle powersaving stations has a race:
when the powersave flag is lifted from a station,
we could transmit a packet that is being processed
for TX at the same time right away, even if there
are other frames queued for it. This would cause
frame reordering. To fix this, lift the flag only
under the appropriate lock that blocks TX.

Additionally, the code to allow drivers to block a
station while frames for it are on the HW queue is
never re-enabled the station, so traffic would get
stuck indefinitely. Fix this by clearing the flag
for this appropriately.

Finally, as an optimisation, don't do anything if
the driver unblocks an already unblocked station.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-11-17 16:19:33 -05:00
..
aes_ccm.c mac80211: Remove redundant checks for NULL before calls to crypto_free_cipher() 2010-11-15 13:26:11 -05:00
aes_ccm.h
aes_cmac.c mac80211: Remove redundant checks for NULL before calls to crypto_free_cipher() 2010-11-15 13:26:11 -05:00
aes_cmac.h
agg-rx.c mac80211: avoid transmitting delBA to old AP 2010-10-06 16:30:40 -04:00
agg-tx.c mac80211: avoid transmitting delBA to old AP 2010-10-06 16:30:40 -04:00
cfg.c mac80211: Add antenna configuration 2010-11-16 16:37:05 -05:00
cfg.h
chan.c cfg80211/mac80211: use lockdep_assert_held 2010-09-16 15:46:00 -04:00
debugfs_key.c mac80211: refactor debugfs function generation code 2010-11-15 13:24:48 -05:00
debugfs_key.h
debugfs_netdev.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2010-10-23 11:47:02 -07:00
debugfs_netdev.h mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
debugfs_sta.c mac80211: refactor debugfs function generation code 2010-11-15 13:24:48 -05:00
debugfs_sta.h
debugfs.c mac80211: refactor debugfs function generation code 2010-11-15 13:24:48 -05:00
debugfs.h mac80211: refactor debugfs function generation code 2010-11-15 13:24:48 -05:00
driver-ops.h mac80211: Add antenna configuration 2010-11-16 16:37:05 -05:00
driver-trace.c
driver-trace.h mac80211: Add antenna configuration 2010-11-16 16:37:05 -05:00
event.c
ht.c mac80211: fix SMPS request 2010-10-13 15:45:23 -04:00
ibss.c mac80211: add support for setting the ad-hoc multicast rate 2010-11-16 16:39:08 -05:00
ieee80211_i.h mac80211: fix powersaving clients races 2010-11-17 16:19:33 -05:00
iface.c mac80211: add probe request filter flag 2010-10-13 15:45:22 -04:00
Kconfig mac82011: Allow selection of minstrel_ht as default rc algorithm 2010-06-30 15:00:53 -04:00
key.c cfg80211/mac80211: allow per-station GTKs 2010-10-06 16:30:40 -04:00
key.h cfg80211/mac80211: allow per-station GTKs 2010-10-06 16:30:40 -04:00
led.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
led.h
main.c mac80211: Fix scan_ies_len to include DS Params 2010-10-27 15:46:51 -04:00
Makefile mac80211: add the minstrel_ht rate control algorithm 2010-06-02 16:12:59 -04:00
mesh_hwmp.c mac80211: use common work struct 2010-06-14 15:38:17 -04:00
mesh_pathtbl.c mac80211: use common work struct 2010-06-14 15:38:17 -04:00
mesh_plink.c mac80211: fix possible null-pointer de-reference 2010-10-11 15:04:20 -04:00
mesh.c mac80211: pull mgmt frame rx into rx handler 2010-06-14 15:39:26 -04:00
mesh.h Fix spelling fuction -> function in comments 2010-08-09 11:22:49 +02:00
michael.c
michael.h
mlme.c mac80211: Add function to get probe request template for current AP 2010-11-16 16:37:08 -05:00
offchannel.c mac80211: disable beacon monitor while going offchannel 2010-09-16 15:46:17 -04:00
pm.c mac80211: assure we also cancel deferred scan request 2010-10-06 16:30:42 -04:00
rate.c mac80211: add support for setting the ad-hoc multicast rate 2010-11-16 16:39:08 -05:00
rate.h mac80211: add the minstrel_ht rate control algorithm 2010-06-02 16:12:59 -04:00
rc80211_minstrel_debugfs.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
rc80211_minstrel_ht_debugfs.c mac80211: disallow seeks in minstrel debug code 2010-09-16 10:33:17 +02:00
rc80211_minstrel_ht.c mac80211: minstrel_ht - reduce the overhead of rate sampling 2010-11-15 13:24:21 -05:00
rc80211_minstrel_ht.h minstrel_ht: move minstrel_mcs_groups declaration to header file 2010-06-24 15:42:18 -04:00
rc80211_minstrel.c minstrel: don't complain about feedback for unrequested rates 2010-07-26 15:09:04 -04:00
rc80211_minstrel.h minstrel: make the rate control ops reusable from another rc implementation 2010-03-10 17:44:23 -05:00
rc80211_pid_algo.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
rc80211_pid_debugfs.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2010-10-23 11:47:02 -07:00
rc80211_pid.h
rx.c mac80211: fix powersaving clients races 2010-11-17 16:19:33 -05:00
scan.c mac80211: fix sw scan locking 2010-10-07 14:41:27 -04:00
spectmgmt.c mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
sta_info.c mac80211: fix powersaving clients races 2010-11-17 16:19:33 -05:00
sta_info.h cfg80211/mac80211: allow per-station GTKs 2010-10-06 16:30:40 -04:00
status.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 2010-10-07 14:39:03 -04:00
tkip.c mac80211: remove wep dependency 2010-07-08 16:35:50 -04:00
tkip.h mac80211: remove wep dependency 2010-07-08 16:35:50 -04:00
tx.c mac80211: add support for setting the ad-hoc multicast rate 2010-11-16 16:39:08 -05:00
util.c mac80211: fix powersaving clients races 2010-11-17 16:19:33 -05:00
wep.c mac80211: don't kmalloc 16 bytes 2010-10-11 15:04:23 -04:00
wep.h mac80211: remove wep dependency 2010-07-08 16:35:50 -04:00
wme.c mac80211: defines for AC numbers 2010-11-17 16:19:31 -05:00
wme.h mac80211: fix skb buffering issue 2010-01-05 16:21:40 -05:00
work.c mac80211: per interface idle notification 2010-08-16 15:26:40 -04:00
wpa.c mac80211: move packet flags into packet 2010-09-27 15:57:54 -04:00
wpa.h