Commit cee0bec5 authored by Dmitry Shmidt's avatar Dmitry Shmidt Committed by John W. Linville

wireless: Protect regdomain change by mutex

Signed-off-by: default avatarDmitry Shmidt <dimitrysh@google.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent b423db5b
...@@ -1830,6 +1830,7 @@ static void restore_custom_reg_settings(struct wiphy *wiphy) ...@@ -1830,6 +1830,7 @@ static void restore_custom_reg_settings(struct wiphy *wiphy)
static void restore_regulatory_settings(bool reset_user) static void restore_regulatory_settings(bool reset_user)
{ {
char alpha2[2]; char alpha2[2];
char world_alpha2[2];
struct reg_beacon *reg_beacon, *btmp; struct reg_beacon *reg_beacon, *btmp;
struct regulatory_request *reg_request, *tmp; struct regulatory_request *reg_request, *tmp;
LIST_HEAD(tmp_reg_req_list); LIST_HEAD(tmp_reg_req_list);
...@@ -1881,6 +1882,8 @@ static void restore_regulatory_settings(bool reset_user) ...@@ -1881,6 +1882,8 @@ static void restore_regulatory_settings(bool reset_user)
/* First restore to the basic regulatory settings */ /* First restore to the basic regulatory settings */
cfg80211_regdomain = cfg80211_world_regdom; cfg80211_regdomain = cfg80211_world_regdom;
world_alpha2[0] = cfg80211_regdomain->alpha2[0];
world_alpha2[1] = cfg80211_regdomain->alpha2[1];
list_for_each_entry(rdev, &cfg80211_rdev_list, list) { list_for_each_entry(rdev, &cfg80211_rdev_list, list) {
if (rdev->wiphy.flags & WIPHY_FLAG_CUSTOM_REGULATORY) if (rdev->wiphy.flags & WIPHY_FLAG_CUSTOM_REGULATORY)
...@@ -1890,7 +1893,7 @@ static void restore_regulatory_settings(bool reset_user) ...@@ -1890,7 +1893,7 @@ static void restore_regulatory_settings(bool reset_user)
mutex_unlock(&reg_mutex); mutex_unlock(&reg_mutex);
mutex_unlock(&cfg80211_mutex); mutex_unlock(&cfg80211_mutex);
regulatory_hint_core(cfg80211_regdomain->alpha2); regulatory_hint_core(world_alpha2);
/* /*
* This restores the ieee80211_regdom module parameter * This restores the ieee80211_regdom module parameter
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment