linux/net/mac80211
Johannes Berg 79ebfb85d4 mac80211: fix associated vs. idle race
Eliad reports that if a scan finishes in the
middle of processing associated (however it
happens), the interface can go idle. This is
because we set assoc_data to NULL before we
set associated. Change the order so any idle
check will find either one of them.

Doing this requires duplicating the TX sync
processing, but I already have a patch to
delete that completely and will submit that
as soon as my driver changes to no longer
require it are submitted.

Reported-by: Eliad Peller <eliad@wizery.com>
Tested-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-02-27 14:06:32 -05:00
..
aes_ccm.c mac80211: use AES_BLOCK_SIZE 2011-07-08 11:11:24 -04:00
aes_ccm.h mac80211: use AES_BLOCK_SIZE 2011-07-08 11:11:24 -04:00
aes_cmac.c mac80211: use AES_BLOCK_SIZE 2011-07-08 11:11:24 -04:00
aes_cmac.h mac80211: fix CMAC races 2011-07-08 11:11:20 -04:00
agg-rx.c net: reintroduce missing rcu_assign_pointer() calls 2012-01-12 12:26:56 -08:00
agg-tx.c mac80211: split addba retries in time 2011-12-19 14:31:37 -05:00
cfg.c cfg80211: restructure AP/GO mode API 2012-02-22 14:51:18 -05:00
cfg.h
chan.c mac80211: refactor __ieee80211_get_channel_mode 2012-01-24 14:08:39 -05:00
debugfs_key.c mac80211: fix debugfs key->station symlink 2012-01-18 14:38:05 -05:00
debugfs_key.h mac80211: support separate default keys 2010-12-13 15:23:29 -05:00
debugfs_netdev.c mac80211: add support for mcs masks 2012-01-30 15:48:26 -05:00
debugfs_netdev.h mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
debugfs_sta.c mac80211: call rate control only after init 2012-02-15 13:56:06 -05:00
debugfs_sta.h
debugfs.c mac80211: support hw scan while idle 2012-02-06 14:55:51 -05:00
debugfs.h mac80211: refactor debugfs function generation code 2010-11-15 13:24:48 -05:00
driver-ops.h mac80211: implement sta_add/sta_remove in sta_state 2012-02-06 14:48:25 -05:00
driver-trace.c
driver-trace.h mac80211: add sta_state callback 2012-02-06 14:48:24 -05:00
event.c
ht.c mac80211: Use appropriate TID for sending BAR, ADDBA and DELBA frames 2011-12-15 14:46:35 -05:00
ibss.c mac80211: clean up asm/unaligned.h inclusion 2012-02-27 14:06:32 -05:00
ieee80211_i.h cfg80211: restructure AP/GO mode API 2012-02-22 14:51:18 -05:00
iface.c mac80211: support hw scan while idle 2012-02-06 14:55:51 -05:00
Kconfig mac80211: remove tracing config symbol 2011-11-28 14:44:09 -05:00
key.c mac80211: clean up asm/unaligned.h inclusion 2012-02-27 14:06:32 -05:00
key.h mac80211: allow driver to disconnect after resume 2011-07-13 14:49:43 -04:00
led.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
led.h mac80211: selective throughput LED trigger active 2010-12-22 14:33:37 -05:00
main.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2012-02-15 16:24:37 -05:00
Makefile mac80211: redesign auth/assoc 2012-02-06 14:50:37 -05:00
mesh_hwmp.c mac80211: clean up asm/unaligned.h inclusion 2012-02-27 14:06:32 -05:00
mesh_pathtbl.c mac80211: rename mesh static path_lookup() 2012-02-08 15:26:34 -05:00
mesh_plink.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2012-02-01 10:48:50 -05:00
mesh.c {nl,cfg,mac}80211: implement dot11MeshHWMPperrMinInterval 2011-11-28 14:44:06 -05:00
mesh.h mac80211: clean up asm/unaligned.h inclusion 2012-02-27 14:06:32 -05:00
michael.c
michael.h
mlme.c mac80211: fix associated vs. idle race 2012-02-27 14:06:32 -05:00
offchannel.c mac80211: remove dead code 2012-01-04 14:31:47 -05:00
pm.c mac80211: implement sta_add/sta_remove in sta_state 2012-02-06 14:48:25 -05:00
rate.c mac80211: call rate control only after init 2012-02-15 13:56:06 -05:00
rate.h mac80211: do not call rate control .tx_status before .rate_init 2012-02-15 13:56:06 -05:00
rc80211_minstrel_debugfs.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
rc80211_minstrel_ht_debugfs.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
rc80211_minstrel_ht.c minstrel_ht: Remove unused function parameters 2011-11-17 15:43:58 -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: Remove unused function parameter in calc_rate_durations() 2011-11-11 12:32:52 -05:00
rc80211_minstrel.h minstrel_ht: fixed rate mode through debugfs 2011-06-01 15:12:29 -04:00
rc80211_pid_algo.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
rc80211_pid_debugfs.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
rc80211_pid.h Fix common misspellings 2011-03-31 11:26:23 -03:00
rx.c mac80211: clean up asm/unaligned.h inclusion 2012-02-27 14:06:32 -05:00
scan.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next into for-davem 2012-01-05 10:13:24 -05:00
spectmgmt.c mac80211: Remove unnecessary OOM logging messages 2011-09-13 15:45:02 -04:00
sta_info.c mac80211: add #ifdef CONFIG_MAC80211_VERBOSE_DEBUG for a debug printk 2012-02-08 15:26:33 -05:00
sta_info.h mac80211: call rate control only after init 2012-02-15 13:56:06 -05:00
status.c mac80211: clean up asm/unaligned.h inclusion 2012-02-27 14:06:32 -05:00
tkip.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
tkip.h mac80211: fix TKIP races, make API easier to use 2011-07-08 11:11:19 -04:00
tx.c cfg80211: restructure AP/GO mode API 2012-02-22 14:51:18 -05:00
util.c mac80211: implement sta_add/sta_remove in sta_state 2012-02-06 14:48:25 -05:00
wep.c mac80211: use skb list for fragments 2011-11-21 16:20:42 -05:00
wep.h mac80211: remove the dependency on crypto_blkcipher 2011-04-04 16:20:00 -04:00
wme.c mac80211: fix forwarded mesh frame queue mapping 2011-11-28 14:44:05 -05:00
wme.h mac80211: fix forwarded mesh frame queue mapping 2011-11-28 14:44:05 -05:00
work.c mac80211: redesign auth/assoc 2012-02-06 14:50:37 -05:00
wpa.c mac80211: fix tx->skb NULL pointer dereference 2012-01-16 15:01:16 -05:00
wpa.h mac80211: fix tx->skb NULL pointer dereference 2012-01-16 15:01:16 -05:00