linux/net/wireless
Luis R. Rodriguez 061acaae76 cfg80211: allow following country IE power for custom regdom cards
By definition WIPHY_FLAG_STRICT_REGULATORY was intended to allow the
wiphy to adjust itself to the country IE power information if the
card had no regulatory data but we had no way to tell cfg80211 that if
the card also had its own custom regulatory domain (these are typically
custom world regulatory domains) that we want to follow the country IE's
noted values for power for each channel. We add support for this and
document it.

This is not a critical fix but a performance optimization for cards
with custom regulatory domains that associate to an AP with sends
out country IEs with a higher EIRP than the one on the custom
regulatory domain. In practice the only driver affected right now
are the Atheros drivers as they are the only drivers using both
WIPHY_FLAG_STRICT_REGULATORY and WIPHY_FLAG_CUSTOM_REGULATORY --
used on cards that have an Atheros world regulatory domain. Cards
that have been programmed to follow a country specifically will not
follow the country IE power. So although not a stable fix distributions
should consider cherry picking this.

Cc: compat@orbit-lab.org
Cc: Paul Stewart <pstew@google.com>
Cc: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Cc: Senthilkumar Balasubramanian <senthilb@qca.qualcomm.com>
Reported-by: Rajkumar Manoharan <rmanohar@qca.qualcomm.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2011-12-16 09:30:42 -05:00
..
.gitignore wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
chan.c nl80211: Parse channel type attribute in an ibss join request 2011-12-06 16:05:24 -05:00
core.c nl80211: advertise device AP SME 2011-11-09 16:12:38 -05:00
core.h cfg80211: Fix race in bss timeout 2011-12-13 15:30:28 -05:00
db.txt wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
debugfs.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
debugfs.h cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
ethtool.c wireless: add support for ethtool_ops->{get,set}_ringparam 2011-03-11 14:16:58 -05:00
ethtool.h net/wireless/ethtool.h: drop unnecessary include of linux/ethtool.h 2009-10-07 16:39:49 -04:00
genregdb.awk wireless: correct sparse warning in generated regdb.c 2010-07-20 16:49:37 -04:00
ibss.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
Kconfig wireless: disable wext sysfs by default 2011-12-07 15:19:39 -05:00
lib80211_crypt_ccmp.c wireless: Remove unnecessary OOM logging messages 2011-09-13 15:45:02 -04:00
lib80211_crypt_tkip.c wireless: Remove unnecessary OOM logging messages 2011-09-13 15:45:02 -04:00
lib80211_crypt_wep.c wireless: Remove unnecessary OOM logging messages 2011-09-13 15:45:02 -04:00
lib80211.c lib80211: remove exports for functions not called by other modules 2011-08-09 15:42:36 -04:00
Makefile cfg80211/mac80211: add mesh join/leave commands 2010-12-06 16:01:29 -05:00
mesh.c {nl,cfg,mac}80211: implement dot11MeshHWMPperrMinInterval 2011-11-28 14:44:06 -05:00
mlme.c wireless: Support ht-capabilities over-rides. 2011-11-21 16:22:06 -05:00
nl80211.c cfg80211: validate nl80211 station handling better 2011-12-15 14:45:45 -05:00
nl80211.h cfg80211: add event for unexpected 4addr frames 2011-11-09 16:13:52 -05:00
radiotap.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
reg.c cfg80211: allow following country IE power for custom regdom cards 2011-12-16 09:30:42 -05:00
reg.h cfg80211: process regulatory DFS region for countries 2011-11-21 16:20:41 -05:00
regdb.h wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
scan.c cfg80211: merge in beacon ies of hidden bss. 2011-11-11 12:32:47 -05:00
sme.c cfg80211: Fix race in bss timeout 2011-12-13 15:30:28 -05:00
sysfs.c mac80211: fix suspend/resume races with unregister hw 2011-08-22 14:21:40 -04:00
sysfs.h
util.c cfg80211: Fix race in bss timeout 2011-12-13 15:30:28 -05:00
wext-compat.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux 2011-11-22 14:05:46 -05:00
wext-compat.h cfg80211: remove unused wext handler exports 2011-08-08 14:26:29 -04:00
wext-core.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
wext-priv.c wext: fix potential private ioctl memory content leak 2010-09-20 13:41:40 -04:00
wext-proc.c net: spread __net_init, __net_exit 2010-01-17 19:16:02 -08:00
wext-sme.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
wext-spy.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00