summaryrefslogtreecommitdiff
path: root/net/wireless
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2012-12-03 21:56:41 +0400
committerJohannes Berg <johannes.berg@intel.com>2013-01-03 16:01:24 +0400
commit11cff96c0660e1e361d60ab90514ffbbfbaf7c03 (patch)
tree134ab8c7bb898867d5b65157d303cbdca528461c /net/wireless
parentfdc9d7b2863ce67f51ed64f89e5b20f3077be569 (diff)
downloadlinux-11cff96c0660e1e361d60ab90514ffbbfbaf7c03.tar.xz
regulatory: simplify restore_regulatory_settings
Use list_splice_tail_init() and also simplify the locking. Acked-by: Luis R. Rodriguez <mcgrof@do-not-panic.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/reg.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index 57812dfc297b..87daba95639c 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -1878,9 +1878,6 @@ static void restore_regulatory_settings(bool reset_user)
restore_custom_reg_settings(&rdev->wiphy);
}
- mutex_unlock(&reg_mutex);
- mutex_unlock(&cfg80211_mutex);
-
regulatory_hint_core(world_alpha2);
/*
@@ -1891,18 +1888,8 @@ static void restore_regulatory_settings(bool reset_user)
if (is_an_alpha2(alpha2))
regulatory_hint_user(user_alpha2, NL80211_USER_REG_HINT_USER);
- if (list_empty(&tmp_reg_req_list))
- return;
-
- mutex_lock(&cfg80211_mutex);
- mutex_lock(&reg_mutex);
-
spin_lock(&reg_requests_lock);
- list_for_each_entry_safe(reg_request, tmp, &tmp_reg_req_list, list) {
- REG_DBG_PRINT("Adding request for country %c%c back into the queue\n",
- reg_request->alpha2[0], reg_request->alpha2[1]);
- list_move_tail(&reg_request->list, &reg_requests_list);
- }
+ list_splice_tail_init(&tmp_reg_req_list, &reg_requests_list);
spin_unlock(&reg_requests_lock);
mutex_unlock(&reg_mutex);