mac80211: make off-channel work generic
This changes mac80211 to allow being off-channel for
any type of work, not just the 'remain-on-channel'
work. This also helps fast transition to a BSS on a
different channel.
Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
index 23547eb..a27921e 100644
--- a/net/mac80211/ieee80211_i.h
+++ b/net/mac80211/ieee80211_i.h
@@ -255,13 +255,15 @@
struct sk_buff *skb);
struct ieee80211_channel *chan;
- /* XXX: chan type? -- right now not really needed */
+ enum nl80211_channel_type chan_type;
unsigned long timeout;
enum ieee80211_work_type type;
u8 filter_ta[ETH_ALEN];
+ bool started;
+
union {
struct {
int tries;
@@ -286,7 +288,8 @@
bool wmm_used, use_11n;
} assoc;
struct {
- unsigned long timeout;
+ u32 duration;
+ bool started;
} remain;
};