diff options
author | Luis R. Rodriguez <lrodriguez@atheros.com> | 2009-03-28 01:45:10 +0000 |
---|---|---|
committer | Chris Wright <chrisw@sous-sol.org> | 2009-04-02 13:55:17 -0700 |
commit | 0e8cb3e1ded5f5fa57f9bb40fe75d7c35ad70985 (patch) | |
tree | 140ef930ca3872b322f80f2ad036b9b4b85e88d7 | |
parent | 15bd8021d870d2c4fbf8c16578d72d03cfddd3a7 (diff) |
cfg80211: force last_request to be set for OLD_REG if regdom is EU
upstream commit: 2e097dc65673ed421bbc2e49f52c125aa43a8ee6
Although EU is a bogus alpha2 we need to process the send request
as our code depends on last_request being set.
Cc: stable@kernel.org
Reported-by: Quentin Armitage <Quentin@armitage.org.uk>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
[chrisw: backport to 2.6.29]
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Port-acked-by: Luis R. Rodriguez <lrodriguez@atheros.com>
-rw-r--r-- | net/wireless/reg.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c index bd0a16c3de5..0a08e74c98b 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c @@ -1469,13 +1469,20 @@ int regulatory_init(void) printk(KERN_INFO "cfg80211: Using static regulatory domain info\n"); print_regdomain_info(cfg80211_regdomain); - /* The old code still requests for a new regdomain and if + /* + * The old code still requests for a new regdomain and if * you have CRDA you get it updated, otherwise you get * stuck with the static values. We ignore "EU" code as - * that is not a valid ISO / IEC 3166 alpha2 */ - if (ieee80211_regdom[0] != 'E' || ieee80211_regdom[1] != 'U') - err = __regulatory_hint(NULL, REGDOM_SET_BY_CORE, - ieee80211_regdom, 0, ENVIRON_ANY); + * that is not a valid ISO / IEC 3166 alpha2 + * stuck with the static values. Since "EU" is not a valid + * ISO / IEC 3166 alpha2 code we can't expect userpace to + * give us a regulatory domain for it. We need last_request + * iniitalized though so lets just send a request which we + * know will be ignored... this crap will be removed once + * OLD_REG dies. + */ + err = __regulatory_hint(NULL, REGDOM_SET_BY_CORE, + ieee80211_regdom, 0, ENVIRON_ANY); #else cfg80211_regdomain = cfg80211_world_regdom; |