diff options
author | Dmitry Shmidt <dimitrysh@google.com> | 2011-12-19 12:32:21 -0800 |
---|---|---|
committer | Dmitry Shmidt <dimitrysh@google.com> | 2011-12-19 12:32:21 -0800 |
commit | 35047200c401cdd1bb43b5574270d1ac86a47937 (patch) | |
tree | b521e2074aad2870250f96c3919f4198c9c23933 /net | |
parent | ea693bf7f87603b072f4ceea6684221fa0b8e863 (diff) |
wireless: Protect regdomain change by mutex
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/wireless/reg.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c index 379574c30add..7b0add2badaa 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c @@ -1759,6 +1759,7 @@ static void restore_alpha2(char *alpha2, bool reset_user) static void restore_regulatory_settings(bool reset_user) { char alpha2[2]; + char world_alpha2[2]; struct reg_beacon *reg_beacon, *btmp; struct regulatory_request *reg_request, *tmp; LIST_HEAD(tmp_reg_req_list); @@ -1809,11 +1810,13 @@ static void restore_regulatory_settings(bool reset_user) /* First restore to the basic regulatory settings */ cfg80211_regdomain = cfg80211_world_regdom; + world_alpha2[0] = cfg80211_regdomain->alpha2[0]; + world_alpha2[1] = cfg80211_regdomain->alpha2[1]; mutex_unlock(®_mutex); mutex_unlock(&cfg80211_mutex); - regulatory_hint_core(cfg80211_regdomain->alpha2); + regulatory_hint_core(world_alpha2); /* * This restores the ieee80211_regdom module parameter |