diff options
author | Johannes Berg <johannes.berg@intel.com> | 2012-12-13 23:19:08 (GMT) |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2013-01-03 12:01:32 (GMT) |
commit | 9cab315190cddbe3aaa31b64841354dd719afdfd (patch) | |
tree | 27eea878d27475698839cc7295341d49c2ac5928 /net/wireless | |
parent | 75de9113bb9dc4939a7cd54e4bdfad555b35f5b1 (diff) | |
download | linux-9cab315190cddbe3aaa31b64841354dd719afdfd.tar.xz |
cfg80211: adjacent 80+80 MHz channel segments are invalid
In that case, it's really a 160 MHz channel, so disallow
this configuration.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless')
-rw-r--r-- | net/wireless/chan.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/wireless/chan.c b/net/wireless/chan.c index a7990bb..396373f 100644 --- a/net/wireless/chan.c +++ b/net/wireless/chan.c @@ -76,6 +76,10 @@ bool cfg80211_chandef_valid(const struct cfg80211_chan_def *chandef) return false; if (!chandef->center_freq2) return false; + /* adjacent is not allowed -- that's a 160 MHz channel */ + if (chandef->center_freq1 - chandef->center_freq2 == 80 || + chandef->center_freq2 - chandef->center_freq1 == 80) + return false; break; case NL80211_CHAN_WIDTH_80: if (chandef->center_freq1 != control_freq + 30 && |