diff options
author | Simon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de> | 2013-07-11 10:09:06 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-08-01 12:30:33 -0400 |
commit | 73da7d5bab79ad7e16ff44d67c3fe8b9c0b33e5b (patch) | |
tree | cb4eee7b96aae1d31a4841167a3f36c638bd0a11 /net/mac80211/driver-ops.h | |
parent | 16ef1fe272332b2f7fd99236017b891db48d9cd6 (diff) |
mac80211: add channel switch command and beacon callbacks
The count field in CSA must be decremented with each beacon
transmitted. This patch implements the functionality for drivers
using ieee80211_beacon_get(). Other drivers must call back manually
after reaching count == 0.
This patch also contains the handling and finish worker for the channel
switch command, and mac80211/chanctx code to allow to change a channel
definition of an active channel context.
Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fokus.fraunhofer.de>
[small cleanups, catch identical chandef]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/driver-ops.h')
-rw-r--r-- | net/mac80211/driver-ops.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/net/mac80211/driver-ops.h b/net/mac80211/driver-ops.h index b931c96a596f..b3ea11f3d526 100644 --- a/net/mac80211/driver-ops.h +++ b/net/mac80211/driver-ops.h | |||
@@ -1072,4 +1072,17 @@ static inline void drv_ipv6_addr_change(struct ieee80211_local *local, | |||
1072 | } | 1072 | } |
1073 | #endif | 1073 | #endif |
1074 | 1074 | ||
1075 | static inline void | ||
1076 | drv_channel_switch_beacon(struct ieee80211_sub_if_data *sdata, | ||
1077 | struct cfg80211_chan_def *chandef) | ||
1078 | { | ||
1079 | struct ieee80211_local *local = sdata->local; | ||
1080 | |||
1081 | if (local->ops->channel_switch_beacon) { | ||
1082 | trace_drv_channel_switch_beacon(local, sdata, chandef); | ||
1083 | local->ops->channel_switch_beacon(&local->hw, &sdata->vif, | ||
1084 | chandef); | ||
1085 | } | ||
1086 | } | ||
1087 | |||
1075 | #endif /* __MAC80211_DRIVER_OPS */ | 1088 | #endif /* __MAC80211_DRIVER_OPS */ |