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: next-20131210~53^2~42 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=d44040de6a991999b466adefc7588e479680b98d;p=karo-tx-linux.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 d3bbf48522b6..3d596e25ba82 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; }