On Tue, Oct 29, 2013 at 7:15 AM, Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> wrote: > After going throught the Channel Availability Check (CAC) > required by DFS enable beaconing. Channels that have gone > through a CAC will be in the NL80211_DFS_AVAILABLE. > Without this change APs don't start beaconing after > successful CAC. > > Signed-off-by: Janusz Dziedzic <janusz.dziedzic@xxxxxxxxx> > --- > One flag could be used in the future IEEE80211_CHAN_NO_IR. > > net/wireless/chan.c | 20 ++++++++++++++++---- > 1 file changed, 16 insertions(+), 4 deletions(-) > > diff --git a/net/wireless/chan.c b/net/wireless/chan.c > index a6f5c4c..205acf2 100644 > --- a/net/wireless/chan.c > +++ b/net/wireless/chan.c > @@ -432,6 +432,7 @@ static bool cfg80211_secondary_chans_ok(struct wiphy *wiphy, > { > struct ieee80211_channel *c; > u32 freq, start_freq, end_freq; > + u32 ignore_flags; > > start_freq = cfg80211_get_start_freq(center_freq, bandwidth); > end_freq = cfg80211_get_end_freq(center_freq, bandwidth); > @@ -441,13 +442,24 @@ static bool cfg80211_secondary_chans_ok(struct wiphy *wiphy, > if (!c) > return false; > > + ignore_flags = IEEE80211_CHAN_RADAR; > + > /* check for radar flags */ > - if ((prohibited_flags & c->flags & IEEE80211_CHAN_RADAR) && > - (c->dfs_state != NL80211_DFS_AVAILABLE)) > - return false; > + if (prohibited_flags & c->flags & IEEE80211_CHAN_RADAR) { > + if (c->dfs_state != NL80211_DFS_AVAILABLE) > + return false; > + /* > + * If DFS is required we should check only > + * c->dfs_state == NL80211_DFS_AVAILABLE and > + * ignore IEEE80211_CHAN_NO_IBSS and > + * IEEE80211_CHAN_PASSIVE_SCAN flags > + */ > + ignore_flags |= IEEE80211_CHAN_NO_IBSS | > + IEEE80211_CHAN_PASSIVE_SCAN; > + } > > /* check for the other flags */ > - if (c->flags & prohibited_flags & ~IEEE80211_CHAN_RADAR) > + if (c->flags & prohibited_flags & ~ignore_flags) > return false; > } How do we know that prohibited_flags won't have IEEE80211_CHAN_RADAR or IEEE80211_CHAN_NO_IBSS set? Also why is IEEE80211_CHAN_NO_IBSS used and not IEEE80211_CHAN_NO_IR instead? I sent patches to help clarify this situation around usage of both no-ibss and active scan flags, by merging them to no-ir. I'm not sure of the status of those patches going in. 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