Skip to content

Commit

Permalink
wireless: Protect regdomain change by mutex
Browse files Browse the repository at this point in the history
Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
  • Loading branch information
Dmitry Shmidt authored and John W. Linville committed Jan 4, 2012
1 parent b423db5 commit cee0bec
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion net/wireless/reg.c
Original file line number Diff line number Diff line change
Expand Up @@ -1830,6 +1830,7 @@ static void restore_custom_reg_settings(struct wiphy *wiphy)
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);
Expand Down Expand Up @@ -1881,6 +1882,8 @@ 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];

list_for_each_entry(rdev, &cfg80211_rdev_list, list) {
if (rdev->wiphy.flags & WIPHY_FLAG_CUSTOM_REGULATORY)
Expand All @@ -1890,7 +1893,7 @@ static void restore_regulatory_settings(bool reset_user)
mutex_unlock(&reg_mutex);
mutex_unlock(&cfg80211_mutex);

regulatory_hint_core(cfg80211_regdomain->alpha2);
regulatory_hint_core(world_alpha2);

/*
* This restores the ieee80211_regdom module parameter
Expand Down

0 comments on commit cee0bec

Please sign in to comment.