Lines Matching refs:alpha2
43 * index on alpha2 any more, instead we'll probably have to
91 .alpha2[0] = '0',
92 .alpha2[1] = '0',
111 * information to give us an alpha2.
224 .alpha2 = "00",
347 bool is_world_regdom(const char *alpha2)
349 if (!alpha2)
351 return alpha2[0] == '0' && alpha2[1] == '0';
354 static bool is_alpha2_set(const char *alpha2)
356 if (!alpha2)
358 return alpha2[0] && alpha2[1];
361 static bool is_unknown_alpha2(const char *alpha2)
363 if (!alpha2)
367 * but a specific alpha2 cannot be determined
369 return alpha2[0] == '9' && alpha2[1] == '9';
372 static bool is_intersected_alpha2(const char *alpha2)
374 if (!alpha2)
381 return alpha2[0] == '9' && alpha2[1] == '8';
384 static bool is_an_alpha2(const char *alpha2)
386 if (!alpha2)
388 return isalpha(alpha2[0]) && isalpha(alpha2[1]);
398 static bool regdom_changes(const char *alpha2)
404 return !alpha2_equal(r->alpha2, alpha2);
408 * The NL80211_REGDOM_SET_BY_USER regdom alpha2 is cached, this lets
419 "Unexpected user alpha2: %c%c\n",
543 static int call_crda(const char *alpha2)
550 alpha2[0], alpha2[1]);
557 if (!is_world_regdom((char *) alpha2))
559 alpha2[0], alpha2[1]);
575 static inline int call_crda(const char *alpha2)
585 u8 alpha2[2];
874 country->alpha2[0], country->alpha2[1]);
920 int reg_query_regdb_wmm(char *alpha2, int freq, struct ieee80211_reg_rule *rule)
933 if (alpha2_equal(alpha2, country->alpha2))
957 regdom->alpha2[0] = country->alpha2[0];
958 regdom->alpha2[1] = country->alpha2[1];
999 static int query_regdb(const char *alpha2)
1011 if (alpha2_equal(alpha2, country->alpha2))
1065 static int query_regdb_file(const char *alpha2)
1072 return query_regdb(alpha2);
1074 alpha2 = kmemdup(alpha2, 2, GFP_KERNEL);
1075 if (!alpha2)
1080 (void *)alpha2, regdb_fw_cb);
1082 kfree(alpha2);
1121 if (query_regdb_file(request->alpha2) == 0)
1124 if (call_crda(request->alpha2) == 0)
1130 bool reg_is_valid_request(const char *alpha2)
1137 return alpha2_equal(lr->alpha2, alpha2);
1485 * Once completed we will mark the alpha2 for the rd as intersected, "98",
1486 * as no one single alpha2 can represent this regulatory domain.
1549 rd->alpha2[0] = '9';
1550 rd->alpha2[1] = '8';
2057 !regdom_changes(pending_request->alpha2))
2116 !is_world_regdom(lr->alpha2)) {
2134 if (is_world_regdom(cr->alpha2) || (wr && is_world_regdom(wr->alpha2)))
2647 regdom_changes(lr->alpha2))
2650 if (!regdom_changes(user_request->alpha2))
2678 user_alpha2[0] = user_request->alpha2[0];
2679 user_alpha2[1] = user_request->alpha2[1];
2692 if (regdom_changes(driver_request->alpha2))
2703 !regdom_changes(driver_request->alpha2))
2777 if (regdom_changes(country_ie_request->alpha2))
2785 if (unlikely(!is_an_alpha2(country_ie_request->alpha2)))
2800 if (regdom_changes(country_ie_request->alpha2))
2805 if (regdom_changes(country_ie_request->alpha2))
3102 request.alpha2[0] = regd->alpha2[0];
3103 request.alpha2[1] = regd->alpha2[1];
3123 request->alpha2[0] = toupper(request->alpha2[0]);
3124 request->alpha2[1] = toupper(request->alpha2[1]);
3137 static int regulatory_hint_core(const char *alpha2)
3145 request->alpha2[0] = alpha2[0];
3146 request->alpha2[1] = alpha2[1];
3156 int regulatory_hint_user(const char *alpha2,
3161 if (WARN_ON(!alpha2))
3164 if (!is_world_regdom(alpha2) && !is_an_alpha2(alpha2))
3172 request->alpha2[0] = alpha2[0];
3173 request->alpha2[1] = alpha2[1];
3230 int regulatory_hint(struct wiphy *wiphy, const char *alpha2)
3234 if (WARN_ON(!alpha2 || !wiphy))
3245 request->alpha2[0] = alpha2[0];
3246 request->alpha2[1] = alpha2[1];
3261 char alpha2[2];
3276 alpha2[0] = country_ie[0];
3277 alpha2[1] = country_ie[1];
3300 request->alpha2[0] = alpha2[0];
3301 request->alpha2[1] = alpha2[1];
3315 static void restore_alpha2(char *alpha2, bool reset_user)
3317 /* indicates there is no alpha2 to consider for restoration */
3318 alpha2[0] = '9';
3319 alpha2[1] = '7';
3337 alpha2[0] = ieee80211_regdom[0];
3338 alpha2[1] = ieee80211_regdom[1];
3343 alpha2[0] = user_alpha2[0];
3344 alpha2[1] = user_alpha2[1];
3349 alpha2[0] = ieee80211_regdom[0];
3350 alpha2[1] = ieee80211_regdom[1];
3393 char alpha2[2];
3414 restore_alpha2(alpha2, reset_user);
3440 world_alpha2[0] = cfg80211_world_regdom->alpha2[0];
3441 world_alpha2[1] = cfg80211_world_regdom->alpha2[1];
3450 if (cached && (!is_an_alpha2(alpha2) ||
3458 if (is_an_alpha2(alpha2) &&
3459 !regulatory_hint_user(alpha2, NL80211_USER_REG_HINT_USER)) {
3482 if (is_an_alpha2(alpha2))
3483 regulatory_hint_user(alpha2, NL80211_USER_REG_HINT_USER);
3683 if (is_intersected_alpha2(rd->alpha2)) {
3695 } else if (is_world_regdom(rd->alpha2)) {
3698 if (is_unknown_alpha2(rd->alpha2))
3703 rd->alpha2[0], rd->alpha2[1]);
3706 rd->alpha2[0], rd->alpha2[1]);
3716 pr_debug("Regulatory domain: %c%c\n", rd->alpha2[0], rd->alpha2[1]);
3722 if (!is_world_regdom(rd->alpha2))
3733 if (!regdom_changes(rd->alpha2))
3738 rd->alpha2[0], rd->alpha2[1]);
3767 if (is_world_regdom(rd->alpha2))
3770 if (!regdom_changes(rd->alpha2))
3775 rd->alpha2[0], rd->alpha2[1]);
3822 if (!is_alpha2_set(rd->alpha2) && !is_an_alpha2(rd->alpha2) &&
3823 !is_unknown_alpha2(rd->alpha2))
3827 * Lets only bother proceeding on the same alpha2 if the current
3834 rd->alpha2[0], rd->alpha2[1]);
3865 if (!reg_is_valid_request(rd->alpha2)) {
4194 err = regulatory_hint_core(cfg80211_world_regdom->alpha2);