aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/networking/regulatory.txt4
-rw-r--r--drivers/net/wireless/ath/ath10k/mac.c4
-rw-r--r--drivers/net/wireless/ath/regd.c47
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/p2p.c2
-rw-r--r--drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c10
-rw-r--r--drivers/net/wireless/brcm80211/brcmsmac/channel.c31
-rw-r--r--drivers/net/wireless/brcm80211/brcmsmac/mac80211_if.c66
-rw-r--r--drivers/net/wireless/cw1200/scan.c10
-rw-r--r--drivers/net/wireless/ipw2x00/ipw2100.c4
-rw-r--r--drivers/net/wireless/ipw2x00/ipw2200.c8
-rw-r--r--drivers/net/wireless/iwlegacy/3945-mac.c2
-rw-r--r--drivers/net/wireless/iwlegacy/4965-mac.c2
-rw-r--r--drivers/net/wireless/iwlegacy/common.c4
-rw-r--r--drivers/net/wireless/iwlegacy/debug.c8
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/debugfs.c8
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/scan.c2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-eeprom-parse.c4
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-nvm-parse.c4
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/scan.c4
-rw-r--r--drivers/net/wireless/mac80211_hwsim.c4
-rw-r--r--drivers/net/wireless/mwifiex/cfg80211.c14
-rw-r--r--drivers/net/wireless/mwifiex/scan.c4
-rw-r--r--drivers/net/wireless/rtlwifi/regd.c48
-rw-r--r--drivers/net/wireless/ti/wl12xx/scan.c2
-rw-r--r--drivers/net/wireless/ti/wlcore/cmd.c2
-rw-r--r--drivers/net/wireless/ti/wlcore/main.c3
-rw-r--r--drivers/net/wireless/ti/wlcore/scan.c12
-rw-r--r--include/net/cfg80211.h9
-rw-r--r--include/uapi/linux/nl80211.h30
-rw-r--r--net/mac80211/scan.c10
-rw-r--r--net/mac80211/tx.c3
-rw-r--r--net/wireless/chan.c3
-rw-r--r--net/wireless/genregdb.awk7
-rw-r--r--net/wireless/ibss.c4
-rw-r--r--net/wireless/mesh.c3
-rw-r--r--net/wireless/nl80211.c12
-rw-r--r--net/wireless/reg.c33
37 files changed, 197 insertions, 230 deletions
diff --git a/Documentation/networking/regulatory.txt b/Documentation/networking/regulatory.txt
index 9551622d0a7b..356f791af574 100644
--- a/Documentation/networking/regulatory.txt
+++ b/Documentation/networking/regulatory.txt
@@ -159,10 +159,10 @@ struct ieee80211_regdomain mydriver_jp_regdom = {
159 REG_RULE(2412-20, 2484+20, 40, 6, 20, 0), 159 REG_RULE(2412-20, 2484+20, 40, 6, 20, 0),
160 /* IEEE 802.11a, channels 34..48 */ 160 /* IEEE 802.11a, channels 34..48 */
161 REG_RULE(5170-20, 5240+20, 40, 6, 20, 161 REG_RULE(5170-20, 5240+20, 40, 6, 20,
162 NL80211_RRF_PASSIVE_SCAN), 162 NL80211_RRF_NO_IR),
163 /* IEEE 802.11a, channels 52..64 */ 163 /* IEEE 802.11a, channels 52..64 */
164 REG_RULE(5260-20, 5320+20, 40, 6, 20, 164 REG_RULE(5260-20, 5320+20, 40, 6, 20,
165 NL80211_RRF_NO_IBSS | 165 NL80211_RRF_NO_IR|
166 NL80211_RRF_DFS), 166 NL80211_RRF_DFS),
167 } 167 }
168}; 168};
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index 0b1cc516e778..f23d61fda243 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -1351,12 +1351,12 @@ static int ath10k_update_channel_list(struct ath10k *ar)
1351 ch->allow_vht = true; 1351 ch->allow_vht = true;
1352 1352
1353 ch->allow_ibss = 1353 ch->allow_ibss =
1354 !(channel->flags & IEEE80211_CHAN_NO_IBSS); 1354 !(channel->flags & IEEE80211_CHAN_NO_IR);
1355 1355
1356 ch->ht40plus = 1356 ch->ht40plus =
1357 !(channel->flags & IEEE80211_CHAN_NO_HT40PLUS); 1357 !(channel->flags & IEEE80211_CHAN_NO_HT40PLUS);
1358 1358
1359 passive = channel->flags & IEEE80211_CHAN_PASSIVE_SCAN; 1359 passive = channel->flags & IEEE80211_CHAN_NO_IR;
1360 ch->passive = passive; 1360 ch->passive = passive;
1361 1361
1362 ch->freq = channel->center_freq; 1362 ch->freq = channel->center_freq;
diff --git a/drivers/net/wireless/ath/regd.c b/drivers/net/wireless/ath/regd.c
index c00687e05688..e93e517a699f 100644
--- a/drivers/net/wireless/ath/regd.c
+++ b/drivers/net/wireless/ath/regd.c
@@ -37,17 +37,18 @@ static int __ath_regd_init(struct ath_regulatory *reg);
37 37
38/* We enable active scan on these a case by case basis by regulatory domain */ 38/* We enable active scan on these a case by case basis by regulatory domain */
39#define ATH9K_2GHZ_CH12_13 REG_RULE(2467-10, 2472+10, 40, 0, 20,\ 39#define ATH9K_2GHZ_CH12_13 REG_RULE(2467-10, 2472+10, 40, 0, 20,\
40 NL80211_RRF_PASSIVE_SCAN) 40 NL80211_RRF_NO_IR)
41#define ATH9K_2GHZ_CH14 REG_RULE(2484-10, 2484+10, 40, 0, 20,\ 41#define ATH9K_2GHZ_CH14 REG_RULE(2484-10, 2484+10, 40, 0, 20,\
42 NL80211_RRF_PASSIVE_SCAN | NL80211_RRF_NO_OFDM) 42 NL80211_RRF_NO_IR | \
43 NL80211_RRF_NO_OFDM)
43 44
44/* We allow IBSS on these on a case by case basis by regulatory domain */ 45/* We allow IBSS on these on a case by case basis by regulatory domain */
45#define ATH9K_5GHZ_5150_5350 REG_RULE(5150-10, 5350+10, 80, 0, 30,\ 46#define ATH9K_5GHZ_5150_5350 REG_RULE(5150-10, 5350+10, 80, 0, 30,\
46 NL80211_RRF_PASSIVE_SCAN | NL80211_RRF_NO_IBSS) 47 NL80211_RRF_NO_IR)
47#define ATH9K_5GHZ_5470_5850 REG_RULE(5470-10, 5850+10, 80, 0, 30,\ 48#define ATH9K_5GHZ_5470_5850 REG_RULE(5470-10, 5850+10, 80, 0, 30,\
48 NL80211_RRF_PASSIVE_SCAN | NL80211_RRF_NO_IBSS) 49 NL80211_RRF_NO_IR)
49#define ATH9K_5GHZ_5725_5850 REG_RULE(5725-10, 5850+10, 80, 0, 30,\ 50#define ATH9K_5GHZ_5725_5850 REG_RULE(5725-10, 5850+10, 80, 0, 30,\
50 NL80211_RRF_PASSIVE_SCAN | NL80211_RRF_NO_IBSS) 51 NL80211_RRF_NO_IR)
51 52
52#define ATH9K_2GHZ_ALL ATH9K_2GHZ_CH01_11, \ 53#define ATH9K_2GHZ_ALL ATH9K_2GHZ_CH01_11, \
53 ATH9K_2GHZ_CH12_13, \ 54 ATH9K_2GHZ_CH12_13, \
@@ -223,18 +224,11 @@ ath_reg_apply_beaconing_flags(struct wiphy *wiphy,
223 * default during init, prior to calling our 224 * default during init, prior to calling our
224 * regulatory_hint(). 225 * regulatory_hint().
225 */ 226 */
226 if (!(reg_rule->flags & 227 if (!(reg_rule->flags & NL80211_RRF_NO_IR))
227 NL80211_RRF_NO_IBSS)) 228 ch->flags &= ~IEEE80211_CHAN_NO_IR;
228 ch->flags &=
229 ~IEEE80211_CHAN_NO_IBSS;
230 if (!(reg_rule->flags &
231 NL80211_RRF_PASSIVE_SCAN))
232 ch->flags &=
233 ~IEEE80211_CHAN_PASSIVE_SCAN;
234 } else { 229 } else {
235 if (ch->beacon_found) 230 if (ch->beacon_found)
236 ch->flags &= ~(IEEE80211_CHAN_NO_IBSS | 231 ch->flags &= ~IEEE80211_CHAN_NO_IR;
237 IEEE80211_CHAN_PASSIVE_SCAN);
238 } 232 }
239 } 233 }
240 } 234 }
@@ -260,11 +254,11 @@ ath_reg_apply_active_scan_flags(struct wiphy *wiphy,
260 */ 254 */
261 if (initiator != NL80211_REGDOM_SET_BY_COUNTRY_IE) { 255 if (initiator != NL80211_REGDOM_SET_BY_COUNTRY_IE) {
262 ch = &sband->channels[11]; /* CH 12 */ 256 ch = &sband->channels[11]; /* CH 12 */
263 if (ch->flags & IEEE80211_CHAN_PASSIVE_SCAN) 257 if (ch->flags & IEEE80211_CHAN_NO_IR)
264 ch->flags &= ~IEEE80211_CHAN_PASSIVE_SCAN; 258 ch->flags &= ~IEEE80211_CHAN_NO_IR;
265 ch = &sband->channels[12]; /* CH 13 */ 259 ch = &sband->channels[12]; /* CH 13 */
266 if (ch->flags & IEEE80211_CHAN_PASSIVE_SCAN) 260 if (ch->flags & IEEE80211_CHAN_NO_IR)
267 ch->flags &= ~IEEE80211_CHAN_PASSIVE_SCAN; 261 ch->flags &= ~IEEE80211_CHAN_NO_IR;
268 return; 262 return;
269 } 263 }
270 264
@@ -278,17 +272,17 @@ ath_reg_apply_active_scan_flags(struct wiphy *wiphy,
278 ch = &sband->channels[11]; /* CH 12 */ 272 ch = &sband->channels[11]; /* CH 12 */
279 reg_rule = freq_reg_info(wiphy, ch->center_freq); 273 reg_rule = freq_reg_info(wiphy, ch->center_freq);
280 if (!IS_ERR(reg_rule)) { 274 if (!IS_ERR(reg_rule)) {
281 if (!(reg_rule->flags & NL80211_RRF_PASSIVE_SCAN)) 275 if (!(reg_rule->flags & NL80211_RRF_NO_IR))
282 if (ch->flags & IEEE80211_CHAN_PASSIVE_SCAN) 276 if (ch->flags & IEEE80211_CHAN_NO_IR)
283 ch->flags &= ~IEEE80211_CHAN_PASSIVE_SCAN; 277 ch->flags &= ~IEEE80211_CHAN_NO_IR;
284 } 278 }
285 279
286 ch = &sband->channels[12]; /* CH 13 */