cfg80211: respect API on orig_flags on channel for beacon hint

As part of our documented API we always respect the orig_flag
settings on a channel. We forgot to follow this for the beacon
hints.

Acked-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Luis R. Rodriguez 2009-04-02 14:08:07 -04:00 committed by John W. Linville
parent 3eb9296970
commit a4ed90d60c

View File

@ -1070,12 +1070,14 @@ static void handle_reg_beacon(struct wiphy *wiphy,
if (likely(chan->center_freq != reg_beacon->chan.center_freq))
return;
if (chan->flags & IEEE80211_CHAN_PASSIVE_SCAN) {
if ((chan->flags & IEEE80211_CHAN_PASSIVE_SCAN) &&
!(chan->orig_flags & IEEE80211_CHAN_PASSIVE_SCAN)) {
chan->flags &= ~IEEE80211_CHAN_PASSIVE_SCAN;
REG_DEBUG_BEACON_FLAG("active scanning");
}
if (chan->flags & IEEE80211_CHAN_NO_IBSS) {
if ((chan->flags & IEEE80211_CHAN_NO_IBSS) &&
!(chan->orig_flags & IEEE80211_CHAN_NO_IBSS)) {
chan->flags &= ~IEEE80211_CHAN_NO_IBSS;
REG_DEBUG_BEACON_FLAG("beaconing");
}