alistair23-linux/net/mac80211
Johannes Berg 37ad38887d mac80211: make deauth/disassoc sequence more natural
The association sequence looks (roughly) like
this now:
 * set BSSID
 * set station to EXIST state
 * send auth
 * set station to AUTH state
 * send assoc
 * set station to ASSOC state
 * set BSS info to associated

In contrast, the deauth/disassoc sequence is
the other way around:
 * clear BSSID/BSS info state
 * remove station
 * send deauth/disassoc
(in some cases the last two steps are reversed.)

This patch encodes the entire sequence in the
ieee80211_set_disassoc() function and changes
it to be like this, for good measure with an
explicit flush:
 * send deauth/disassoc
 * flush
 * remove station
 * clear BSSID/BSS info state

At least iwlwifi gets confused with the other
sequence in P2P mode and complains that it
wasn't able to flush the queues.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-02-29 14:11:34 -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: remove cookies from callbacks 2012-02-29 14:11:33 -05:00
cfg.h
chan.c mac80211: refactor __ieee80211_get_channel_mode 2012-01-24 14:08:39 -05:00
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
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 mac80211: RCU-ify STA info structure access 2008-03-06 15:30:46 -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 mac80211: fix sparse warnings/errors 2009-08-04 16:43:25 -04:00
driver-trace.h mac80211: add sta_state callback 2012-02-06 14:48:24 -05:00
event.c cfg80211: use proper allocation flags 2009-07-10 15:01:49 -04:00
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: remove cookies from callbacks 2012-02-29 14:11:33 -05:00
iface.c mac80211: fix auth/assoc data & timer leak 2012-02-27 14:06:42 -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 mac80211: remove local_to_hw 2012-02-27 14:06:42 -05:00
Makefile mac80211: redesign auth/assoc 2012-02-06 14:50:37 -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
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
michael.c mac80211: remove ieee80211_get_hdr_info 2008-07-08 14:16:01 -04:00
michael.h mac80211: remove ieee80211_get_hdr_info 2008-07-08 14:16:01 -04:00
mlme.c mac80211: make deauth/disassoc sequence more natural 2012-02-29 14:11:34 -05:00
offchannel.c mac80211: remove dead code 2012-01-04 14:31:47 -05:00
pm.c mac80211: use proper sub_if_data on suspend path 2012-02-27 14:06:40 -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.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_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.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_ht_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
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
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: fix sta_info_flush() return value 2012-02-27 14:06:42 -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 mac80211: remove local_to_hw 2012-02-27 14:06:42 -05:00
util.c mac80211: remove local_to_hw 2012-02-27 14:06:42 -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