cfg80211: force last_request to be set for OLD_REG if regdom is EU
authorLuis R. Rodriguez <lrodriguez@atheros.com>
Sat, 21 Mar 2009 03:53:04 +0000 (23:53 -0400)
committerJohn W. Linville <linville@tuxdriver.com>
Sat, 28 Mar 2009 00:13:06 +0000 (20:13 -0400)
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>
net/wireless/reg.c

index eb8b8ed161554e869148285e5a164496a596686c..ead9dccb5475131454421fa39302e98f7627a854 100644 (file)
@@ -2135,11 +2135,14 @@ int regulatory_init(void)
        /*
         * 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
+        * 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.
         */
-       if (ieee80211_regdom[0] != 'E' || ieee80211_regdom[1] != 'U')
-               err = regulatory_hint_core(ieee80211_regdom);
+       err = regulatory_hint_core(ieee80211_regdom);
 #else
        cfg80211_regdomain = cfg80211_world_regdom;