diff options
author | Johannes Berg <johannes.berg@intel.com> | 2011-12-14 12:35:30 +0100 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-12-15 14:46:34 -0500 |
commit | d9a7ddb05e5419ca5e4b54f57074dc33c7ea991c (patch) | |
tree | 3de3213e7e79a64254ea778374aeaaffa61b5bab /net/mac80211/tx.c | |
parent | 87be1e1e00f870567780dec111193426b4c085e8 (diff) | |
download | blackbird-op-linux-d9a7ddb05e5419ca5e4b54f57074dc33c7ea991c.tar.gz blackbird-op-linux-d9a7ddb05e5419ca5e4b54f57074dc33c7ea991c.zip |
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>
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r-- | net/mac80211/tx.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index e74652d38245..50c4be9a6404 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -295,7 +295,6 @@ ieee80211_tx_h_check_assoc(struct ieee80211_tx_data *tx) if (likely(tx->flags & IEEE80211_TX_UNICAST)) { if (unlikely(!assoc && - tx->sdata->vif.type != NL80211_IFTYPE_ADHOC && ieee80211_is_data(hdr->frame_control))) { #ifdef CONFIG_MAC80211_VERBOSE_DEBUG printk(KERN_DEBUG "%s: dropped data frame to not " |