aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMichal Kazior <michal.kazior@tieto.com>2012-06-29 06:47:01 -0400
committerJohannes Berg <johannes.berg@intel.com>2012-06-29 07:39:16 -0400
commitdbbae26afa81320b3315fb4ad755b20f1ff256b4 (patch)
tree5b8b56bc68ca4f8d176f340d81a21a75263b7500 /include
parent26ab9a0c589db9ba2710f042c4959da25fd3297b (diff)
cfg80211: track monitor interfaces count
Implements .set_monitor_enabled(wiphy, enabled). Notifies driver upon change of interface layout. If only monitor interfaces become present it is called with 2nd argument being true. If non-monitor interface appears then 2nd argument is false. Driver is notified only upon change. This makes it more obvious about the fact that cfg80211 supports single monitor channel. Once we implement multi-channel we don't want to allow setting monitor channel while other interface types are running. Otherwise it would be ambiguous once we start considering num_different_channels. Signed-off-by: Michal Kazior <michal.kazior@tieto.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include')
-rw-r--r--include/net/cfg80211.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index e030c6af86dd..f0d213dd8fe7 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -1499,6 +1499,8 @@ struct cfg80211_gtk_rekey_data {
1499 * interfaces are active this callback should reject the configuration. 1499 * interfaces are active this callback should reject the configuration.
1500 * If no interfaces are active or the device is down, the channel should 1500 * If no interfaces are active or the device is down, the channel should
1501 * be stored for when a monitor interface becomes active. 1501 * be stored for when a monitor interface becomes active.
1502 * @set_monitor_enabled: Notify driver that there are only monitor
1503 * interfaces running.
1502 * @get_channel: Get the current operating channel, should return %NULL if 1504 * @get_channel: Get the current operating channel, should return %NULL if
1503 * there's no single defined operating channel if for example the 1505 * there's no single defined operating channel if for example the
1504 * device implements channel hopping for multi-channel virtual interfaces. 1506 * device implements channel hopping for multi-channel virtual interfaces.
@@ -1817,6 +1819,8 @@ struct cfg80211_ops {
1817 struct ethtool_stats *stats, u64 *data); 1819 struct ethtool_stats *stats, u64 *data);
1818 void (*get_et_strings)(struct wiphy *wiphy, struct net_device *dev, 1820 void (*get_et_strings)(struct wiphy *wiphy, struct net_device *dev,
1819 u32 sset, u8 *data); 1821 u32 sset, u8 *data);
1822
1823 void (*set_monitor_enabled)(struct wiphy *wiphy, bool enabled);
1820}; 1824};
1821 1825
1822/* 1826/*