From: Luis R. Rodriguez Date: Mon, 21 Oct 2013 17:14:47 +0000 (+0200) Subject: ath: fix logic on ath_reg_apply_active_scan_flags() X-Git-Tag: v3.14-rc1~94^2~601^2^2~9 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=d44040de6a991999b466adefc7588e479680b98d;p=~emulex%2Finfiniband.git ath: fix logic on ath_reg_apply_active_scan_flags() The existing logic removes the passive scan flag from channels 12 and 13 when a regulatory hint coming from something other than a country IE has been passed. This is incorrect, the original intention was to ensure we always have passive scan enabled for these two channels for a specific set of custom world regulatory domains. Cc: smihir@qti.qualcomm.com Cc: tushnimb@qca.qualcomm.com Signed-off-by: Luis R. Rodriguez Signed-off-by: John W. Linville --- diff --git a/drivers/net/wireless/ath/regd.c b/drivers/net/wireless/ath/regd.c index d3bbf48522b..3d596e25ba8 100644 --- a/drivers/net/wireless/ath/regd.c +++ b/drivers/net/wireless/ath/regd.c @@ -249,16 +249,16 @@ ath_reg_apply_active_scan_flags(struct wiphy *wiphy, return; /* - * If no country IE has been received always enable active scan - * on these channels. This is only done for specific regulatory SKUs + * If no country IE has been received always enable passive scan + * and no-ibss on these channels. This is only done for specific + * regulatory SKUs. */ if (initiator != NL80211_REGDOM_SET_BY_COUNTRY_IE) { ch = &sband->channels[11]; /* CH 12 */ - if (ch->flags & IEEE80211_CHAN_NO_IR) - ch->flags &= ~IEEE80211_CHAN_NO_IR; + ch->flags |= IEEE80211_CHAN_NO_IR; + ch = &sband->channels[12]; /* CH 13 */ - if (ch->flags & IEEE80211_CHAN_NO_IR) - ch->flags &= ~IEEE80211_CHAN_NO_IR; + ch->flags |= IEEE80211_CHAN_NO_IR; return; }