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>
        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");
        }