> 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. > Sorry but I do not follow ... what's the bug? Thanks, Ilan. ��.n��������+%������w��{.n�����{���zW����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f