From 0e8cb3e1ded5f5fa57f9bb40fe75d7c35ad70985 Mon Sep 17 00:00:00 2001 From: "Luis R. Rodriguez" Date: Sat, 28 Mar 2009 01:45:10 +0000 Subject: [PATCH] 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 Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville [chrisw: backport to 2.6.29] Signed-off-by: Chris Wright Port-acked-by: Luis R. Rodriguez --- net/wireless/reg.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/net/wireless/reg.c b/net/wireless/reg.c index bd0a16c3de5e..0a08e74c98b2 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; -- 2.39.5