diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-07-12 19:45:08 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-07-13 16:16:11 +0200 |
commit | 5b7ccaf3fc7446e42b83a77fd7aa7ad92850acdd (patch) | |
tree | e87b3f28cdfe513de4f3527fabaaacca63eedc24 /net/mac80211 | |
parent | Revert "mac80211: refactor virtual monitor code" (diff) | |
download | linux-5b7ccaf3fc7446e42b83a77fd7aa7ad92850acdd.tar.xz linux-5b7ccaf3fc7446e42b83a77fd7aa7ad92850acdd.zip |
cfg80211/mac80211: re-add get_channel operation
This essentially reverts commit 2e165b818456 but
introduces the get_channel operation with a new
wireless_dev argument so that you can retrieve
the channel per interface. This is necessary as
even though we can track all interface channels
(except monitor) we can't track the channel type
used.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r-- | net/mac80211/cfg.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index e95f24eef870..10dd9631e4da 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c @@ -2982,6 +2982,16 @@ static int ieee80211_probe_client(struct wiphy *wiphy, struct net_device *dev, return 0; } +static struct ieee80211_channel * +ieee80211_cfg_get_channel(struct wiphy *wiphy, struct wireless_dev *wdev, + enum nl80211_channel_type *type) +{ + struct ieee80211_local *local = wiphy_priv(wiphy); + + *type = local->_oper_channel_type; + return local->oper_channel; +} + #ifdef CONFIG_PM static void ieee80211_set_wakeup(struct wiphy *wiphy, bool enabled) { @@ -3062,4 +3072,5 @@ struct cfg80211_ops mac80211_config_ops = { .get_et_sset_count = ieee80211_get_et_sset_count, .get_et_stats = ieee80211_get_et_stats, .get_et_strings = ieee80211_get_et_strings, + .get_channel = ieee80211_cfg_get_channel, }; |