linux/net/wireless
Janusz Dziedzic 9752482083 cfg80211: regulatory introduce maximum bandwidth calculation
In case we will get regulatory request with rule
where max_bandwidth_khz is set to 0 handle this
case as a special one.

If max_bandwidth_khz == 0 we should calculate maximum
available bandwidth base on all frequency contiguous rules.
In case we need auto calculation we just have to set:

country PL: DFS-ETSI
        (2402 - 2482 @ 40), (N/A, 20)
        (5170 - 5250 @ AUTO), (N/A, 20)
        (5250 - 5330 @ AUTO), (N/A, 20), DFS
        (5490 - 5710 @ 80), (N/A, 27), DFS

This mean we will calculate maximum bw for rules where
AUTO (N/A) were set, 160MHz (5330 - 5170) in example above.
So we will get:
        (5170 - 5250 @ 160), (N/A, 20)
        (5250 - 5330 @ 160), (N/A, 20), DFS

In other case:
country FR: DFS-ETSI
        (2402 - 2482 @ 40), (N/A, 20)
        (5170 - 5250 @ AUTO), (N/A, 20)
        (5250 - 5330 @ 80), (N/A, 20), DFS
        (5490 - 5710 @ 80), (N/A, 27), DFS

We will get 80MHz (5250 - 5170):
        (5170 - 5250 @ 80), (N/A, 20)
        (5250 - 5330 @ 80), (N/A, 20), DFS

Base on this calculations we will set correct channel
bandwidth flags (eg. IEEE80211_CHAN_NO_80MHZ).

We don't need any changes in CRDA or internal regulatory.

Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com>
[extend nl80211 description a bit, fix typo]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2014-02-05 14:03:19 +01:00
..
.gitignore
ap.c cfg80211: consider existing DFS interfaces 2014-02-04 21:58:17 +01:00
chan.c cfg80211: consider existing DFS interfaces 2014-02-04 21:58:17 +01:00
core.c cfg80211: make device_type const 2014-02-04 21:48:23 +01:00
core.h cfg80211: consider existing DFS interfaces 2014-02-04 21:58:17 +01:00
db.txt
debugfs.c
debugfs.h
ethtool.c
ethtool.h
genregdb.awk
ibss.c cfg80211: consider existing DFS interfaces 2014-02-04 21:58:17 +01:00
Kconfig
lib80211.c
lib80211_crypt_ccmp.c
lib80211_crypt_tkip.c
lib80211_crypt_wep.c
Makefile
mesh.c cfg80211: consider existing DFS interfaces 2014-02-04 21:58:17 +01:00
mlme.c cfg80211: consider existing DFS interfaces 2014-02-04 21:58:17 +01:00
nl80211.c cfg80211: regulatory introduce maximum bandwidth calculation 2014-02-05 14:03:19 +01:00
nl80211.h nl80211: send event when AP operation is stopped 2014-02-04 21:58:08 +01:00
radiotap.c radiotap: fix bitmap-end-finding buffer overrun 2013-12-16 12:06:43 +01:00
rdev-ops.h cfg80211: Add support for QoS mapping 2013-12-19 16:29:22 +01:00
reg.c cfg80211: regulatory introduce maximum bandwidth calculation 2014-02-05 14:03:19 +01:00
reg.h cfg80211: regulatory introduce maximum bandwidth calculation 2014-02-05 14:03:19 +01:00
regdb.h
scan.c cfg80211: Add a function to get the number of supported channels 2014-01-09 14:24:24 +01:00
sme.c Merge branch 'for-john' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next 2014-01-13 14:40:59 -05:00
sysfs.c
sysfs.h
trace.c
trace.h cfg80211: fix channel configuration in IBSS join 2014-02-04 21:58:16 +01:00
util.c cfg80211: consider existing DFS interfaces 2014-02-04 21:58:17 +01:00
wext-compat.c cfg80211: add sanity check for retry limit in wext-compat 2014-01-09 17:05:28 +01:00
wext-compat.h
wext-core.c
wext-priv.c
wext-proc.c
wext-sme.c
wext-spy.c