summaryrefslogtreecommitdiffstats
path: root/net/wireless/reg.c
diff options
context:
space:
mode:
authorJohannes Berg2012-12-03 18:56:41 +0100
committerJohannes Berg2013-01-03 13:01:24 +0100
commit11cff96c0660e1e361d60ab90514ffbbfbaf7c03 (patch)
tree134ab8c7bb898867d5b65157d303cbdca528461c /net/wireless/reg.c
parentregulatory: remove BUG_ON (diff)
downloadkernel-qcow2-linux-11cff96c0660e1e361d60ab90514ffbbfbaf7c03.tar.gz
kernel-qcow2-linux-11cff96c0660e1e361d60ab90514ffbbfbaf7c03.tar.xz
kernel-qcow2-linux-11cff96c0660e1e361d60ab90514ffbbfbaf7c03.zip
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/reg.c')
-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);