mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 14:42:24 +00:00
cfg80211: add helper reg_get_regdomain() function
Add helper function that will return regdomain. Follow the driver's regulatory domain, if present, unless a country IE has been processed or a user wants to help compliance further. Signed-off-by: Janusz Dziedzic <janusz.dziedzi@tieto.com> [remove useless reg variable] Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
96f55f12a2
commit
e3961af1e9
@ -522,6 +522,22 @@ bool reg_is_valid_request(const char *alpha2)
|
||||
return alpha2_equal(lr->alpha2, alpha2);
|
||||
}
|
||||
|
||||
static const struct ieee80211_regdomain *reg_get_regdomain(struct wiphy *wiphy)
|
||||
{
|
||||
struct regulatory_request *lr = get_last_request();
|
||||
|
||||
/*
|
||||
* Follow the driver's regulatory domain, if present, unless a country
|
||||
* IE has been processed or a user wants to help complaince further
|
||||
*/
|
||||
if (lr->initiator != NL80211_REGDOM_SET_BY_COUNTRY_IE &&
|
||||
lr->initiator != NL80211_REGDOM_SET_BY_USER &&
|
||||
wiphy->regd)
|
||||
return get_wiphy_regdom(wiphy);
|
||||
|
||||
return get_cfg80211_regdom();
|
||||
}
|
||||
|
||||
/* Sanity check on a regulatory rule */
|
||||
static bool is_valid_reg_rule(const struct ieee80211_reg_rule *rule)
|
||||
{
|
||||
@ -821,18 +837,8 @@ const struct ieee80211_reg_rule *freq_reg_info(struct wiphy *wiphy,
|
||||
u32 center_freq)
|
||||
{
|
||||
const struct ieee80211_regdomain *regd;
|
||||
struct regulatory_request *lr = get_last_request();
|
||||
|
||||
/*
|
||||
* Follow the driver's regulatory domain, if present, unless a country
|
||||
* IE has been processed or a user wants to help complaince further
|
||||
*/
|
||||
if (lr->initiator != NL80211_REGDOM_SET_BY_COUNTRY_IE &&
|
||||
lr->initiator != NL80211_REGDOM_SET_BY_USER &&
|
||||
wiphy->regd)
|
||||
regd = get_wiphy_regdom(wiphy);
|
||||
else
|
||||
regd = get_cfg80211_regdom();
|
||||
regd = reg_get_regdomain(wiphy);
|
||||
|
||||
return freq_reg_info_regd(wiphy, center_freq, regd);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user