aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless
diff options
context:
space:
mode:
authorLuis R. Rodriguez <lrodriguez@atheros.com>2009-04-02 14:08:07 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-04-22 16:54:40 -0400
commita4ed90d60c39c5aef9a170d7693f61175acb22e0 (patch)
treeb479bdf90ed142b8ccb02235668204ab03f5663d /net/wireless
parent3eb9296970e70902593b15ed3080e389954cf5f5 (diff)
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>
Diffstat (limited to 'net/wireless')
-rw-r--r--net/wireless/reg.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index 6c1993d99902..4af4304cec3e 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -1070,12 +1070,14 @@ static void handle_reg_beacon(struct wiphy *wiphy,
1070 if (likely(chan->center_freq != reg_beacon->chan.center_freq)) 1070 if (likely(chan->center_freq != reg_beacon->chan.center_freq))
1071 return; 1071 return;
1072 1072
1073 if (chan->flags & IEEE80211_CHAN_PASSIVE_SCAN) { 1073 if ((chan->flags & IEEE80211_CHAN_PASSIVE_SCAN) &&
1074 !(chan->orig_flags & IEEE80211_CHAN_PASSIVE_SCAN)) {
1074 chan->flags &= ~IEEE80211_CHAN_PASSIVE_SCAN; 1075 chan->flags &= ~IEEE80211_CHAN_PASSIVE_SCAN;
1075 REG_DEBUG_BEACON_FLAG("active scanning"); 1076 REG_DEBUG_BEACON_FLAG("active scanning");
1076 } 1077 }
1077 1078
1078 if (chan->flags & IEEE80211_CHAN_NO_IBSS) { 1079 if ((chan->flags & IEEE80211_CHAN_NO_IBSS) &&
1080 !(chan->orig_flags & IEEE80211_CHAN_NO_IBSS)) {
1079 chan->flags &= ~IEEE80211_CHAN_NO_IBSS; 1081 chan->flags &= ~IEEE80211_CHAN_NO_IBSS;
1080 REG_DEBUG_BEACON_FLAG("beaconing"); 1082 REG_DEBUG_BEACON_FLAG("beaconing");
1081 } 1083 }