On Thu, Feb 20, 2014 at 3:44 AM, Ilan Peer <ilan.peer@xxxxxxxxx> wrote: > Allow GO operation on a channel marked with IEEE80211_CHAN_INDOOR_ONLY > iff there is a user hint indicating that the platform is operating in > an indoor environment, i.e., the platform is a printer or media center > device. > > Signed-off-by: Ilan Peer <ilan.peer@xxxxxxxxx> > --- > net/wireless/chan.c | 12 ++++++++++-- > 1 file changed, 10 insertions(+), 2 deletions(-) > > diff --git a/net/wireless/chan.c b/net/wireless/chan.c > index 1d8c990..b18367d 100644 > --- a/net/wireless/chan.c > +++ b/net/wireless/chan.c > @@ -611,6 +611,8 @@ EXPORT_SYMBOL(cfg80211_chandef_usable); > * IEEE80211_CHAN_GO_CONCURRENT and there is an additional station interface > * associated to an AP on the same channel or on the same UNII band > * (assuming that the AP is an authorized master). > + * In addition allow the GO to operate on a channel on which indoor operation is > + * allowed, iff we are currently operating in an indoor environment. > */ > 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? 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