linux/net
Vladimir Kondratiev 64629b9d41 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>
2012-09-25 09:41:14 +02:00
..
9p
802
8021q
appletalk
atm
ax25
batman-adv
bluetooth Bluetooth: Refactor in hci_le_conn_complete_evt 2012-08-06 15:08:41 -03:00
bridge bridge: make port attributes const 2012-07-30 14:53:22 -07:00
caif
can
ceph Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2012-07-24 10:01:50 -07:00
core ipv4: Restore old dst_free() behavior. 2012-07-31 14:41:38 -07:00
dcb
dccp ipv4: Prepare for change of rt->rt_iif encoding. 2012-07-23 16:36:26 -07:00
decnet ipv4: Restore old dst_free() behavior. 2012-07-31 14:41:38 -07:00
dns_resolver
dsa
ethernet
ieee802154
ipv4 ipv4: Properly purge netdev references on uncached routes. 2012-07-31 15:06:50 -07:00
ipv6 net: TCP early demux cleanup 2012-07-30 14:53:21 -07:00
ipx
irda
iucv
key
l2tp
lapb
llc
mac80211 mac80211: don't send delBA on addBA failure 2012-09-21 16:14:14 +02:00
mac802154
netfilter
netlabel
netlink genetlink: define lockdep_genl_is_held() when CONFIG_LOCKDEP 2012-07-24 00:01:30 -07:00
netrom
nfc
openvswitch Revert "openvswitch: potential NULL deref in sample()" 2012-07-27 13:45:51 -07:00
packet
phonet
rds rds: set correct msg_namelen 2012-07-23 01:01:44 -07:00
rfkill rfkill: prevent unnecessary event generation 2012-09-24 10:35:54 +02:00
rose
rxrpc
sched ipv4: Prepare for change of rt->rt_iif encoding. 2012-07-23 16:36:26 -07:00
sctp ipv4: Prepare for change of rt->rt_iif encoding. 2012-07-23 16:36:26 -07:00
sunrpc
tipc
unix
wanrouter wanmain: comparing array with NULL 2012-07-24 13:55:21 -07:00
wimax
wireless cfg80211: Fix regulatory check for 60GHz band frequencies 2012-09-25 09:41:14 +02:00
x25
xfrm
Kconfig
Makefile
compat.c net: Fix references to out-of-scope variables in put_cmsg_compat() 2012-07-22 17:50:49 -07:00
nonet.c
socket.c
sysctl_net.c