summaryrefslogtreecommitdiffstats
path: root/include/net/mac80211.h
diff options
context:
space:
mode:
authorLuciano Coelho2014-10-08 08:48:38 +0200
committerJohannes Berg2014-10-09 11:30:09 +0200
commitf1d65583bc5bd43ace8abb9d4f4d9e8da407f708 (patch)
tree7c51dcf4057ab096c49700567162ceeb7458e226 /include/net/mac80211.h
parentmac80211: add pre_channel_switch driver operation (diff)
downloadkernel-qcow2-linux-f1d65583bc5bd43ace8abb9d4f4d9e8da407f708.tar.gz
kernel-qcow2-linux-f1d65583bc5bd43ace8abb9d4f4d9e8da407f708.tar.xz
kernel-qcow2-linux-f1d65583bc5bd43ace8abb9d4f4d9e8da407f708.zip
mac80211: add post_channel_switch driver operation
As a counterpart to the pre_channel_switch operation, add a post_channel_switch operation. This allows the drivers to go back to a normal configuration after the channel switch is completed. Signed-off-by: Luciano Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/net/mac80211.h')
-rw-r--r--include/net/mac80211.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 19e4159ce3a3..7861ed875c4d 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -2836,6 +2836,9 @@ enum ieee80211_roc_type {
* before a channel switch procedure is started (ie. when a STA
* gets a CSA or an userspace initiated channel-switch), allowing
* the driver to prepare for the channel switch.
+ * @post_channel_switch: This is an optional callback that is called
+ * after a channel switch procedure is completed, allowing the
+ * driver to go back to a normal configuration.
*
* @join_ibss: Join an IBSS (on an IBSS interface); this is called after all
* information in bss_conf is set up and the beacon can be retrieved. A
@@ -3046,6 +3049,9 @@ struct ieee80211_ops {
struct ieee80211_vif *vif,
struct ieee80211_channel_switch *ch_switch);
+ int (*post_channel_switch)(struct ieee80211_hw *hw,
+ struct ieee80211_vif *vif);
+
int (*join_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
void (*leave_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
u32 (*get_expected_throughput)(struct ieee80211_sta *sta);