linux/net/mac80211
Johannes Berg d9a7ddb05e mac80211: refactor station state transitions
Station entries can have various states, the most
important ones being auth, assoc and authorized.
This patch prepares us for telling the driver about
these states, we don't want to confuse drivers with
strange transitions, so with this we enforce that
they move in the right order between them (back and
forth); some transitions might happen before the
driver even knows about the station, but at least
runtime transitions will be ordered correctly.

As a consequence, IBSS and MESH stations will now
have the ASSOC flag set (so they can transition to
AUTHORIZED), and we can get rid of a special case
in TX processing.

When freeing a station, unwind the state so that
other parts of the code (or drivers later) can rely
on the transitions.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-12-15 14:46: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 mac80211: Add HT operation modes for IBSS 2011-12-06 16:05:25 -05:00
agg-tx.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2011-12-14 14:35:41 -05:00
cfg.c mac80211: refactor station state transitions 2011-12-15 14:46:34 -05:00
cfg.h
chan.c mac80211: fix channel type recalculation with HT and non-HT interfaces 2011-03-14 14:46:58 -04:00
debugfs_key.c mac80211: fix CMAC races 2011-07-08 11:11:20 -04:00
debugfs_key.h mac80211: support separate default keys 2010-12-13 15:23:29 -05:00
debugfs_netdev.c {nl,cfg,mac}80211: implement dot11MeshHWMPperrMinInterval 2011-11-28 14:44:06 -05:00
debugfs_netdev.h mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
debugfs_sta.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2011-12-02 15:44:03 -05:00
debugfs_sta.h
debugfs.c mac80211: remove debugfs noack test 2011-11-28 14:34:15 -05:00
debugfs.h mac80211: refactor debugfs function generation code 2010-11-15 13:24:48 -05:00
driver-ops.h mac80211: do not pass AP VLAN vif pointers to drivers 2011-11-28 14:43:52 -05:00
driver-trace.c
driver-trace.h mac80211: remove tracing config symbol 2011-11-28 14:44:09 -05:00
event.c
ht.c mac80211: Remove WARN_ON in apply-ht-override logic. 2011-12-06 16:07:07 -05:00
ibss.c mac80211: refactor station state transitions 2011-12-15 14:46:34 -05:00
ieee80211_i.h mac80211: Add HT operation modes for IBSS 2011-12-06 16:05:25 -05:00
iface.c mac80211: refactor station state transitions 2011-12-15 14:46:34 -05:00
Kconfig mac80211: remove tracing config symbol 2011-11-28 14:44:09 -05:00
key.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux 2011-11-22 14:05:46 -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: don't check sdata_running in vif notifier 2011-12-13 15:34:15 -05:00
Makefile mac80211: remove tracing config symbol 2011-11-28 14:44:09 -05:00
mesh_hwmp.c mac80211: don't initiate path discovery when forwarding frame with unknown DA 2011-11-28 14:44:07 -05:00
mesh_pathtbl.c mac80211: don't initiate path discovery when forwarding frame with unknown DA 2011-11-28 14:44:07 -05:00
mesh_plink.c mac80211: refactor station state transitions 2011-12-15 14:46:34 -05:00
mesh.c {nl,cfg,mac}80211: implement dot11MeshHWMPperrMinInterval 2011-11-28 14:44:06 -05:00
mesh.h mac80211: don't initiate path discovery when forwarding frame with unknown DA 2011-11-28 14:44:07 -05:00
michael.c
michael.h
mlme.c mac80211: refactor station state transitions 2011-12-15 14:46:34 -05:00
offchannel.c mac80211: revert on-channel work optimisations 2011-11-30 15:08:31 -05:00
pm.c mac80211: verify virtual interfaces in driver API 2011-11-09 16:01:02 -05:00
rate.c net: Fix files explicitly needing to include module.h 2011-10-31 19:30:28 -04:00
rate.h mac80211: add the minstrel_ht rate control algorithm 2010-06-02 16:12:59 -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_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 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 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: accept public action frames with mismatched BSSID 2011-12-06 16:07:07 -05:00
scan.c mac80211: revert on-channel work optimisations 2011-11-30 15:08:31 -05:00
spectmgmt.c mac80211: Remove unnecessary OOM logging messages 2011-09-13 15:45:02 -04:00
sta_info.c mac80211: refactor station state transitions 2011-12-15 14:46:34 -05:00
sta_info.h mac80211: refactor station state transitions 2011-12-15 14:46:34 -05:00
status.c mac80211: Make use of ieee80211_is_* functions in tx status path 2011-12-13 15:30:46 -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: refactor station state transitions 2011-12-15 14:46:34 -05:00
util.c mac80211: configure BSS_CHANGED_ARP_FILTER on reconfiguration 2011-12-13 15:34:11 -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: revert on-channel work optimisations 2011-11-30 15:08:31 -05:00
wpa.c mac80211: use skb list for fragments 2011-11-21 16:20:42 -05:00
wpa.h