On Thu, Nov 20, 2014 at 10:27 PM, Luis R. Rodriguez <mcgrof@xxxxxxxx> wrote: > On Sun, Nov 16, 2014 at 01:06:00PM +0200, Arik Nemtsov wrote: >> On Fri, Nov 14, 2014 at 1:11 AM, Luis R. Rodriguez <mcgrof@xxxxxxxx> wrote: >> >> index a4d2792..656a1b1 100644 >> >> --- a/net/wireless/core.c >> >> +++ b/net/wireless/core.c >> >> @@ -541,6 +541,13 @@ int wiphy_register(struct wiphy *wiphy) >> >> !wiphy->wowlan->tcp)) >> >> return -EINVAL; >> >> #endif >> >> + if (WARN_ON((wiphy->regulatory_flags & REGULATORY_WIPHY_SELF_MANAGED) && >> >> + (wiphy->regulatory_flags & >> >> + (REGULATORY_CUSTOM_REG | REGULATORY_STRICT_REG | >> >> + REGULATORY_COUNTRY_IE_FOLLOW_POWER | >> >> + REGULATORY_COUNTRY_IE_IGNORE | >> >> + REGULATORY_DISABLE_BEACON_HINTS)))) >> >> + return -EINVAL; >> > >> > Look at all those heuristics go away... That's alot. The documetnation should >> > reflect all this not being used because of this decision. I also want you to >> > think of the issues that may come up when combining devices that, one that >> > uses this feature and one that does not. >> >> Since this is a private regdomain, I guess this just means the >> cfg80211 using device will be alone in the system for all regulatory >> purposes. >> I don't really see possible interoperability issues here. Am I missing >> something? > > It means you can technically end up with two devices that operate with > different interpretation of rules, this can mean for example that some > expectations of having two devices may fail and since this will be all hard > coded you can't fix it. The worst of the issues will be caused by the fact > that we simply won't know what issues will creep up until the two data sets > conflict and create an unexpected user facing issue. This is precicely why > having support for querying information about all regulatory data is critical, > and I'm glad you are doing that work. > > What will happen when say a user / user interface wants to restrict all devices > to say a country like Israel, 'iw reg set IL' is used, so the cfg80211 regulatory > abiding devices follow the rules, but this Intel device does not? It's nice that you've used IL in your example :) An Intel device would basically stay in mode "00" until the FW decides via a modem or other indication that it is in IL. At that point we will send regulatory_hint_regd() notification. The Intel device doesn't use/trust other devices. Arik -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html