Some regulatory bodies doesn't allow IR (initiate radioation) on a specific subband, but allows it for channels with a bandwidth of 20 MHz. Add a channel flag that indicates that, and consider it in cfg80211_reg_check_beaconing. While on it, fix the kernel doc of enum nl80211_reg_rule_flags and change it to use BIT().
Showing the changes to include/uapi/linux (1 of 5 files). Show all
Unified · Split
| @@ -4335,6 +4335,8 @@ enum nl80211_wmm_rule { · 4334 unmodified lines | ||
| 4335 | 4335 | * otherwise completely disabled. |
| 4336 | 4336 | * @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a |
| 4337 | 4337 | * very low power (VLP) AP, despite being NO_IR. |
| 4338 | + * @NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY: This channel can be active in | |
| 4339 | + * 20 MHz bandwidth, despite being NO_IR. | |
| 4338 | 4340 | * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number |
| 4339 | 4341 | * currently defined |
| 4340 | 4342 | * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use |
| @@ -4379,6 +4381,7 @@ enum nl80211_frequency_attr { · 38 unmodified lines | ||
| 4379 | 4381 | NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT, |
| 4380 | 4382 | NL80211_FREQUENCY_ATTR_CAN_MONITOR, |
| 4381 | 4383 | NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP, |
| 4384 | + NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY, | |
| 4382 | 4385 | |
| 4383 | 4386 | /* keep last */ |
| 4384 | 4387 | __NL80211_FREQUENCY_ATTR_AFTER_LAST, |
| @@ -4590,31 +4593,34 @@ enum nl80211_sched_scan_match_attr { · 205 unmodified lines | ||
| 4590 | 4593 | * @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed |
| 4591 | 4594 | * @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted |
| 4592 | 4595 | * despite NO_IR configuration. |
| 4596 | + * @NL80211_RRF_ALLOW_20MHZ_ACTIVITY: Allow activity in 20 MHz bandwidth, | |
| 4597 | + * despite NO_IR configuration. | |
| 4593 | 4598 | */ |
| 4594 | 4599 | enum nl80211_reg_rule_flags { |
| 4595 | − NL80211_RRF_NO_OFDM = 1<<0, | |
| 4596 | − NL80211_RRF_NO_CCK = 1<<1, | |
| 4597 | − NL80211_RRF_NO_INDOOR = 1<<2, | |
| 4598 | − NL80211_RRF_NO_OUTDOOR = 1<<3, | |
| 4599 | − NL80211_RRF_DFS = 1<<4, | |
| 4600 | − NL80211_RRF_PTP_ONLY = 1<<5, | |
| 4601 | − NL80211_RRF_PTMP_ONLY = 1<<6, | |
| 4602 | − NL80211_RRF_NO_IR = 1<<7, | |
| 4603 | − __NL80211_RRF_NO_IBSS = 1<<8, | |
| 4604 | − NL80211_RRF_AUTO_BW = 1<<11, | |
| 4605 | − NL80211_RRF_IR_CONCURRENT = 1<<12, | |
| 4606 | − NL80211_RRF_NO_HT40MINUS = 1<<13, | |
| 4607 | − NL80211_RRF_NO_HT40PLUS = 1<<14, | |
| 4608 | − NL80211_RRF_NO_80MHZ = 1<<15, | |
| 4609 | − NL80211_RRF_NO_160MHZ = 1<<16, | |
| 4610 | − NL80211_RRF_NO_HE = 1<<17, | |
| 4611 | − NL80211_RRF_NO_320MHZ = 1<<18, | |
| 4612 | − NL80211_RRF_NO_EHT = 1<<19, | |
| 4613 | − NL80211_RRF_PSD = 1<<20, | |
| 4614 | − NL80211_RRF_DFS_CONCURRENT = 1<<21, | |
| 4615 | − NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22, | |
| 4616 | − NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23, | |
| 4617 | − NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24, | |
| 4600 | + NL80211_RRF_NO_OFDM = 1 << 0, | |
| 4601 | + NL80211_RRF_NO_CCK = 1 << 1, | |
| 4602 | + NL80211_RRF_NO_INDOOR = 1 << 2, | |
| 4603 | + NL80211_RRF_NO_OUTDOOR = 1 << 3, | |
| 4604 | + NL80211_RRF_DFS = 1 << 4, | |
| 4605 | + NL80211_RRF_PTP_ONLY = 1 << 5, | |
| 4606 | + NL80211_RRF_PTMP_ONLY = 1 << 6, | |
| 4607 | + NL80211_RRF_NO_IR = 1 << 7, | |
| 4608 | + __NL80211_RRF_NO_IBSS = 1 << 8, | |
| 4609 | + NL80211_RRF_AUTO_BW = 1 << 11, | |
| 4610 | + NL80211_RRF_IR_CONCURRENT = 1 << 12, | |
| 4611 | + NL80211_RRF_NO_HT40MINUS = 1 << 13, | |
| 4612 | + NL80211_RRF_NO_HT40PLUS = 1 << 14, | |
| 4613 | + NL80211_RRF_NO_80MHZ = 1 << 15, | |
| 4614 | + NL80211_RRF_NO_160MHZ = 1 << 16, | |
| 4615 | + NL80211_RRF_NO_HE = 1 << 17, | |
| 4616 | + NL80211_RRF_NO_320MHZ = 1 << 18, | |
| 4617 | + NL80211_RRF_NO_EHT = 1 << 19, | |
| 4618 | + NL80211_RRF_PSD = 1 << 20, | |
| 4619 | + NL80211_RRF_DFS_CONCURRENT = 1 << 21, | |
| 4620 | + NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1 << 22, | |
| 4621 | + NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1 << 23, | |
| 4622 | + NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1 << 24, | |
| 4623 | + NL80211_RRF_ALLOW_20MHZ_ACTIVITY = 1 << 25, | |
| 4618 | 4624 | }; |
| 4619 | 4625 | |
| 4620 | 4626 | #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR |