diff options
author | Michal Kazior <michal.kazior@tieto.com> | 2012-06-29 12:47:01 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-06-29 13:39:16 +0200 |
commit | dbbae26afa81320b3315fb4ad755b20f1ff256b4 (patch) | |
tree | 5b8b56bc68ca4f8d176f340d81a21a75263b7500 /net/wireless/util.c | |
parent | 26ab9a0c589db9ba2710f042c4959da25fd3297b (diff) | |
download | kernel_goldelico_gta04-dbbae26afa81320b3315fb4ad755b20f1ff256b4.zip kernel_goldelico_gta04-dbbae26afa81320b3315fb4ad755b20f1ff256b4.tar.gz kernel_goldelico_gta04-dbbae26afa81320b3315fb4ad755b20f1ff256b4.tar.bz2 |
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 'net/wireless/util.c')
-rw-r--r-- | net/wireless/util.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/wireless/util.c b/net/wireless/util.c index fc948d0..9b92ec5 100644 --- a/net/wireless/util.c +++ b/net/wireless/util.c @@ -871,6 +871,11 @@ int cfg80211_change_iface(struct cfg80211_registered_device *rdev, } } + if (!err && ntype != otype && netif_running(dev)) { + cfg80211_update_iface_num(rdev, ntype, 1); + cfg80211_update_iface_num(rdev, otype, -1); + } + return err; } |