diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-07-26 14:55:08 +0200 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-10-16 20:22:46 +0200 |
commit | fe57d9f5c0a2c1ef97ba8cdc42cfda5743f287b8 (patch) | |
tree | a155a8bb9165b092703bec542aeaf0b707afa392 /net/mac80211/scan.c | |
parent | e269d8600a8f6a9f2387b3f283bfb579a5479dc3 (diff) | |
download | linux-stable-fe57d9f5c0a2c1ef97ba8cdc42cfda5743f287b8.tar.gz linux-stable-fe57d9f5c0a2c1ef97ba8cdc42cfda5743f287b8.tar.bz2 linux-stable-fe57d9f5c0a2c1ef97ba8cdc42cfda5743f287b8.zip |
mac80211: track whether to use channel contexts
Depending on the driver, channel contexts may be used or
not. If they are used, the driver must have support for
hardware scan and remain-on-channel; otherwise the driver
must not advertise support for multiple channels.
Also prohibit WDS type interfaces when channel contexts
are to be used as there's no clear definition of which
channel they use.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/scan.c')
-rw-r--r-- | net/mac80211/scan.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/mac80211/scan.c b/net/mac80211/scan.c index c4cdbde24fd3..fdaa505dab45 100644 --- a/net/mac80211/scan.c +++ b/net/mac80211/scan.c @@ -336,6 +336,10 @@ EXPORT_SYMBOL(ieee80211_scan_completed); static int ieee80211_start_sw_scan(struct ieee80211_local *local) { + /* Software scan is not supported in multi-channel cases */ + if (local->use_chanctx) + return -EOPNOTSUPP; + /* * Hardware/driver doesn't support hw_scan, so use software * scanning instead. First send a nullfunc frame with power save |