diff options
author | Johannes Berg | 2012-12-14 00:19:08 +0100 |
---|---|---|
committer | Johannes Berg | 2013-01-03 13:01:32 +0100 |
commit | 9cab315190cddbe3aaa31b64841354dd719afdfd (patch) | |
tree | 27eea878d27475698839cc7295341d49c2ac5928 /net/wireless | |
parent | 75de9113bb9dc4939a7cd54e4bdfad555b35f5b1 (diff) |
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 a7990bb16529..396373f3ec26 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 && |