summaryrefslogtreecommitdiffstats
path: root/net/wireless/reg.c
diff options
context:
space:
mode:
authorLuis R. Rodriguez <mcgrof@do-not-panic.com>2013-11-05 09:18:07 -0800
committerJohannes Berg <johannes.berg@intel.com>2013-11-25 20:51:14 +0100
commit2f1c6c572d7b6cbe2e3c9bbb427769f6c79089bb (patch)
tree116b7e4fff8d5296573031ff51ec142fd2d6073e /net/wireless/reg.c
parentb23e7a9e6b1f4c3070f9ce59e82b9dff69b11fe1 (diff)
downloadblackbird-op-linux-2f1c6c572d7b6cbe2e3c9bbb427769f6c79089bb.tar.gz
blackbird-op-linux-2f1c6c572d7b6cbe2e3c9bbb427769f6c79089bb.zip
cfg80211: process non country IE conflicting first
By dealing with non country IE conficts first we can shift the code that deals with the conflict to the left. This has no functional changes. Signed-off-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.c39
1 files changed, 20 insertions, 19 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index aef39243595a..875fffc284c0 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -1539,31 +1539,32 @@ __reg_process_hint_country_ie(struct wiphy *wiphy,
return REG_REQ_ALREADY_SET;
}
- last_wiphy = wiphy_idx_to_wiphy(lr->wiphy_idx);
-
if (unlikely(!is_an_alpha2(country_ie_request->alpha2)))
return -EINVAL;
- if (lr->initiator == NL80211_REGDOM_SET_BY_COUNTRY_IE) {
- if (last_wiphy != wiphy) {
- /*
- * Two cards with two APs claiming different
- * Country IE alpha2s. We could
- * intersect them, but that seems unlikely
- * to be correct. Reject second one for now.
- */
- if (regdom_changes(country_ie_request->alpha2))
- return REG_REQ_IGNORE;
- return REG_REQ_ALREADY_SET;
- }
+
+ if (lr->initiator != NL80211_REGDOM_SET_BY_COUNTRY_IE)
+ return REG_REQ_OK;
+
+ last_wiphy = wiphy_idx_to_wiphy(lr->wiphy_idx);
+
+ if (last_wiphy != wiphy) {
/*
- * Two consecutive Country IE hints on the same wiphy.
- * This should be picked up early by the driver/stack
+ * Two cards with two APs claiming different
+ * Country IE alpha2s. We could
+ * intersect them, but that seems unlikely
+ * to be correct. Reject second one for now.
*/
- if (WARN_ON(regdom_changes(country_ie_request->alpha2)))
- return REG_REQ_OK;
+ if (regdom_changes(country_ie_request->alpha2))
+ return REG_REQ_IGNORE;
return REG_REQ_ALREADY_SET;
}
- return REG_REQ_OK;
+ /*
+ * Two consecutive Country IE hints on the same wiphy.
+ * This should be picked up early by the driver/stack
+ */
+ if (WARN_ON(regdom_changes(country_ie_request->alpha2)))
+ return REG_REQ_OK;
+ return REG_REQ_ALREADY_SET;
}
/**
OpenPOWER on IntegriCloud