]> git.baikalelectronics.ru Git - kernel.git/commit
cfg80211: Fix regulatory check for 60GHz band frequencies
authorVladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Sun, 23 Sep 2012 07:49:54 +0000 (09:49 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 25 Sep 2012 07:41:14 +0000 (09:41 +0200)
commitfb020251914bb6a1b3c4c14ab9bb7003b230f202
tree3cfc42f380900c5b167f2d6587d4234d7946c9ad
parentdc416e13bd30b76b7cf130bf409f574b05765eb0
cfg80211: Fix regulatory check for 60GHz band frequencies

The current regulatory code on cfg80211 performs a check to
see if a regulatory rule belongs to an IEEE band so that if
a Country IE is received and no rules are specified for a
band (which is allowed by IEEE) those bands are left intact.
The current band check assumes a rule is bound to a band
if the rule's start or end frequency is less than 2 GHz
apart from the center of frequency being inspected.

In order to support 60 GHz for 802.11ad we need to increase
this to account for the channel spacing of 2160 MHz whereby
a channel somewhere in the middle of a regulatory rule may
be more than 2 GHz apart from either the beginning or
end of the frequency rule.

Without a fix for this even though channels 1-3 are allowed world
wide on the rule (57240 - 63720 @ 2160), channel 2 at 60480 MHz
will end up getting disabled given that it is 3240 MHz from
both the frequency rule start and end frequency. Fix this by
using 2 GHz separation assumption for the 2.4 and 5 GHz bands
but for 60 GHz use a 10 GHz separation before assuming a rule
is not part of the band.

Since we have no 802.11ad drivers yet merged this change has
no impact to existing Linux upstream device drivers.

Signed-off-by: Vladimir Kondratiev <qca_vkondrat@qca.qualcomm.com>
Acked-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/reg.c