On Sat, Feb 22, 2014 at 11:54 AM, Peer, Ilan <ilan.peer@xxxxxxxxx> wrote: >> > static bool cfg80211_go_permissive_chan(struct >> cfg80211_registered_device *rdev, >> > struct ieee80211_channel >> > *chan) @@ -621,8 +623,14 @@ static bool >> cfg80211_go_permissive_chan(struct cfg80211_registered_device *rdev, >> > ASSERT_RTNL(); >> > >> > if (!config_enabled(CONFIG_CFG80211_REG_RELAX_NO_IR) || >> > - !(wiphy->regulatory_flags & REGULATORY_ENABLE_RELAX_NO_IR) >> || >> > - !(chan->flags & IEEE80211_CHAN_GO_CONCURRENT)) >> > + !(wiphy->regulatory_flags & REGULATORY_ENABLE_RELAX_NO_IR)) >> > + return false; >> > + >> > + if (regulatory_indoor_allowed() && >> > + (chan->flags & IEEE80211_CHAN_INDOOR_ONLY)) >> > + return true; >> > + >> > + if (!(chan->flags & IEEE80211_CHAN_GO_CONCURRENT)) >> > return false; >> >> Shouldn't this check go before the indoor one? >> > > I do not think so, as this relaxations is orthogonal to the GO concurrent one. It means that If a channel is enabled but only under indoor and indoor operation is hinted the relaxation removes the NO_IR restriction if such exists (without the relaxation indoor operation would be allowed but not for GO). Ah yes, the first check remains as this then though: if (!config_enabled(CONFIG_CFG80211_REG_RELAX_NO_IR) || !(wiphy->regulatory_flags & REGULATORY_ENABLE_RELAX_NO_IR)) return false; That seems wrong for the general case. Luis -- 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