cfg80211: return private regdom for self-managed devices
If a device has self-managed regulatory, insist on returning the wiphy specific regdomain if a wiphy-idx is specified. The global regdomain is meaningless for such devices. Also add an attribute for self-managed devices, so usermode can distinguish them as such. Signed-off-by: Arik Nemtsov <arikx.nemtsov@intel.com> Reviewed-by: Luis R. Rodriguez <mcgrof@suse.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:

committed by
Johannes Berg

parent
b0d7aa5959
commit
1bdd716cbc
@@ -261,6 +261,9 @@
|
||||
* the regulatory core to help with compliance. A dump version of this API
|
||||
* is now available which will returns the global regdomain as well as
|
||||
* all private regdomains of present wiphys (for those that have it).
|
||||
* If a wiphy is self-managed (%NL80211_ATTR_WIPHY_SELF_MANAGED_REG), then
|
||||
* its private regdomain is the only valid one for it. The regulatory
|
||||
* core is not used to help with compliance in this case.
|
||||
* @NL80211_CMD_SET_REG: Set current regulatory domain. CRDA sends this command
|
||||
* after being queried by the kernel. CRDA replies by sending a regulatory
|
||||
* domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our
|
||||
@@ -1702,6 +1705,11 @@ enum nl80211_commands {
|
||||
*
|
||||
* @NL80211_ATTR_MAC_MASK: MAC address mask
|
||||
*
|
||||
* @NL80211_ATTR_WIPHY_SELF_MANAGED_REG: flag attribute indicating this device
|
||||
* is self-managing its regulatory information and any regulatory domain
|
||||
* obtained from it is coming from the device's wiphy and not the global
|
||||
* cfg80211 regdomain.
|
||||
*
|
||||
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
@@ -2059,6 +2067,8 @@ enum nl80211_attrs {
|
||||
|
||||
NL80211_ATTR_MAC_MASK,
|
||||
|
||||
NL80211_ATTR_WIPHY_SELF_MANAGED_REG,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
|
Reference in New Issue
Block a user