linux/net/wireless
Luis R. Rodriguez 038659e7c6 cfg80211: Process regulatory max bandwidth checks for HT40
We are not correctly listening to the regulatory max bandwidth
settings. To actually make use of it we need to redesign things
a bit. This patch does the work for that. We do this to so we
can obey to regulatory rules accordingly for use of HT40.

We end up dealing with HT40 by having two passes for each channel.

The first check will see if a 20 MHz channel fits into the channel's
center freq on a given frequency range. We check for a 20 MHz
banwidth channel as that is the maximum an individual channel
will use, at least for now. The first pass will go ahead and
check if the regulatory rule for that given center of frequency
allows 40 MHz bandwidths and we use this to determine whether
or not the channel supports HT40 or not. So to support HT40 you'll
need at a regulatory rule that allows you to use 40 MHz channels
but you're channel must also be enabled and support 20 MHz by itself.

The second pass is done after we do the regulatory checks over
an device's supported channel list. On each channel we'll check
if the control channel and the extension both:

 o exist
 o are enabled
 o regulatory allows 40 MHz bandwidth on its frequency range

This work allows allows us to idependently check for HT40- and
HT40+.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2009-05-20 14:46:22 -04:00
..
core.c cfg80211: implement wext key handling 2009-05-13 15:44:32 -04:00
core.h cfg80211: implement wext key handling 2009-05-13 15:44:32 -04:00
ibss.c cfg80211: put wext data into substructure 2009-05-11 15:24:07 -04:00
Kconfig cfg80211: default CONFIG_WIRELESS_OLD_REGULATORY to n 2009-03-27 20:13:23 -04:00
lib80211_crypt_ccmp.c lib80211: silence excessive crypto debugging messages 2009-03-16 18:01:58 -04:00
lib80211_crypt_tkip.c lib80211: silence excessive crypto debugging messages 2009-03-16 18:01:58 -04:00
lib80211_crypt_wep.c lib80211: absorb crypto bits from net/ieee80211 2008-11-21 11:08:17 -05:00
lib80211.c lib80211: consolidate crypt init routines 2008-11-21 11:08:17 -05:00
Makefile cfg80211/nl80211: add IBSS API 2009-04-22 16:57:17 -04:00
mlme.c nl80211: Add event for authentication/association timeout 2009-04-22 16:57:21 -04:00
nl80211.c net: use NLMSG_DEFAULT_SIZE in nlmsg_new() allocations 2009-05-19 15:36:16 -07:00
nl80211.h nl80211: Add event for authentication/association timeout 2009-04-22 16:57:21 -04:00
radiotap.c wireless: use get/put_unaligned_* helpers 2008-05-14 16:29:32 -04:00
reg.c cfg80211: Process regulatory max bandwidth checks for HT40 2009-05-20 14:46:22 -04:00
reg.h cfg80211: make __regulatory_hint() static 2009-02-27 14:52:59 -05:00
scan.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 2009-05-08 12:46:17 -07:00
sysfs.c cfg80211: rename cfg80211_registered_device's idx to wiphy_idx 2009-02-27 14:52:54 -05:00
sysfs.h [WIRELESS] cfg80211: New wireless config infrastructure. 2007-04-25 22:29:41 -07:00
util.c cfg80211: implement wext key handling 2009-05-13 15:44:32 -04:00
wext-compat.c nl80211: Add RSC configuration for new keys 2009-05-13 15:44:39 -04:00
wext.c wext: remove seq_start/stop sparse annotations 2009-05-13 15:44:40 -04:00