History

cfg80211: change GO_CONCURRENT to IR_CONCURRENT for STA

The GO_CONCURRENT regulatory definition can be extended to station interfaces requesting to IR as part of TDLS off-channel operations. Rename the GO_CONCURRENT flag to IR_CONCURRENT and allow the added use-case. Change internal users of GO_CONCURRENT to use the new definition.

Arik Nemtsov committed 11 years ago

Commit 06f207f1 parent 8aca9b26 files · +45 −35Browse files

Showing the changes to include/uapi (1 of 6 files). Show all

Unified · Split

include/uapi/linux/nl80211.h+16−12
@@ -2620,16 +2620,17 @@ enum nl80211_band_attr { · 2619 unmodified lines
2620 * an indoor surroundings, i.e., it is connected to AC power (and not2620 * an indoor surroundings, i.e., it is connected to AC power (and not
2621 * through portable DC inverters) or is under the control of a master2621 * through portable DC inverters) or is under the control of a master
2622 * that is acting as an AP and is connected to AC power.2622 * that is acting as an AP and is connected to AC power.
2623 * @NL80211_FREQUENCY_ATTR_GO_CONCURRENT: GO operation is allowed on this2623 * @NL80211_FREQUENCY_ATTR_IR_CONCURRENT: IR operation is allowed on this
2624 * channel if it's connected concurrently to a BSS on the same channel on2624 * channel if it's connected concurrently to a BSS on the same channel on
2625 * the 2 GHz band or to a channel in the same UNII band (on the 5 GHz2625 * the 2 GHz band or to a channel in the same UNII band (on the 5 GHz
2626 * band), and IEEE80211_CHAN_RADAR is not set. Instantiating a GO on a2626 * band), and IEEE80211_CHAN_RADAR is not set. Instantiating a GO or TDLS
2627 * channel that has the GO_CONCURRENT attribute set can be done when there2627 * off-channel on a channel that has the IR_CONCURRENT attribute set can be
2628 * is a clear assessment that the device is operating under the guidance of2628 * done when there is a clear assessment that the device is operating under
2629 * an authorized master, i.e., setting up a GO while the device is also2629 * the guidance of an authorized master, i.e., setting up a GO or TDLS
2630 * connected to an AP with DFS and radar detection on the UNII band (it is2630 * off-channel while the device is also connected to an AP with DFS and
2631 * up to user-space, i.e., wpa_supplicant to perform the required2631 * radar detection on the UNII band (it is up to user-space, i.e.,
2632 * verifications)2632 * wpa_supplicant to perform the required verifications). Using this
2633 * attribute for IR is disallowed for master interfaces (IBSS, AP).
2633 * @NL80211_FREQUENCY_ATTR_NO_20MHZ: 20 MHz operation is not allowed2634 * @NL80211_FREQUENCY_ATTR_NO_20MHZ: 20 MHz operation is not allowed
2634 * on this channel in current regulatory domain.2635 * on this channel in current regulatory domain.
2635 * @NL80211_FREQUENCY_ATTR_NO_10MHZ: 10 MHz operation is not allowed2636 * @NL80211_FREQUENCY_ATTR_NO_10MHZ: 10 MHz operation is not allowed
@@ -2641,7 +2642,7 @@ enum nl80211_band_attr { · 5 unmodified lines
2641 * See https://apps.fcc.gov/eas/comments/GetPublishedDocument.html?id=327&tn=5281222642 * See https://apps.fcc.gov/eas/comments/GetPublishedDocument.html?id=327&tn=528122
2642 * for more information on the FCC description of the relaxations allowed2643 * for more information on the FCC description of the relaxations allowed
2643 * by NL80211_FREQUENCY_ATTR_INDOOR_ONLY and2644 * by NL80211_FREQUENCY_ATTR_INDOOR_ONLY and
2644 * NL80211_FREQUENCY_ATTR_GO_CONCURRENT.2645 * NL80211_FREQUENCY_ATTR_IR_CONCURRENT.
2645 */2646 */
2646enum nl80211_frequency_attr {2647enum nl80211_frequency_attr {
2647 __NL80211_FREQUENCY_ATTR_INVALID,2648 __NL80211_FREQUENCY_ATTR_INVALID,
@@ -2659,7 +2660,7 @@ enum nl80211_frequency_attr { · 11 unmodified lines
2659 NL80211_FREQUENCY_ATTR_NO_160MHZ,2660 NL80211_FREQUENCY_ATTR_NO_160MHZ,
2660 NL80211_FREQUENCY_ATTR_DFS_CAC_TIME,2661 NL80211_FREQUENCY_ATTR_DFS_CAC_TIME,
2661 NL80211_FREQUENCY_ATTR_INDOOR_ONLY,2662 NL80211_FREQUENCY_ATTR_INDOOR_ONLY,
2662 NL80211_FREQUENCY_ATTR_GO_CONCURRENT,2663 NL80211_FREQUENCY_ATTR_IR_CONCURRENT,
2663 NL80211_FREQUENCY_ATTR_NO_20MHZ,2664 NL80211_FREQUENCY_ATTR_NO_20MHZ,
2664 NL80211_FREQUENCY_ATTR_NO_10MHZ,2665 NL80211_FREQUENCY_ATTR_NO_10MHZ,
2665 2666
@@ -2672,6 +2673,8 @@ enum nl80211_frequency_attr { · 6 unmodified lines
2672#define NL80211_FREQUENCY_ATTR_PASSIVE_SCAN NL80211_FREQUENCY_ATTR_NO_IR2673#define NL80211_FREQUENCY_ATTR_PASSIVE_SCAN NL80211_FREQUENCY_ATTR_NO_IR
2673#define NL80211_FREQUENCY_ATTR_NO_IBSS NL80211_FREQUENCY_ATTR_NO_IR2674#define NL80211_FREQUENCY_ATTR_NO_IBSS NL80211_FREQUENCY_ATTR_NO_IR
2674#define NL80211_FREQUENCY_ATTR_NO_IR NL80211_FREQUENCY_ATTR_NO_IR2675#define NL80211_FREQUENCY_ATTR_NO_IR NL80211_FREQUENCY_ATTR_NO_IR
2676#define NL80211_FREQUENCY_ATTR_GO_CONCURRENT \
2677 NL80211_FREQUENCY_ATTR_IR_CONCURRENT
2675 2678
2676/**2679/**
2677 * enum nl80211_bitrate_attr - bitrate attributes2680 * enum nl80211_bitrate_attr - bitrate attributes
@@ -2830,7 +2833,7 @@ enum nl80211_sched_scan_match_attr { · 152 unmodified lines
2830 * @NL80211_RRF_AUTO_BW: maximum available bandwidth should be calculated2833 * @NL80211_RRF_AUTO_BW: maximum available bandwidth should be calculated
2831 * base on contiguous rules and wider channels will be allowed to cross2834 * base on contiguous rules and wider channels will be allowed to cross
2832 * multiple contiguous/overlapping frequency ranges.2835 * multiple contiguous/overlapping frequency ranges.
2833 * @NL80211_RRF_GO_CONCURRENT: See &NL80211_FREQUENCY_ATTR_GO_CONCURRENT2836 * @NL80211_RRF_IR_CONCURRENT: See &NL80211_FREQUENCY_ATTR_IR_CONCURRENT
2834 * @NL80211_RRF_NO_HT40MINUS: channels can't be used in HT40- operation2837 * @NL80211_RRF_NO_HT40MINUS: channels can't be used in HT40- operation
2835 * @NL80211_RRF_NO_HT40PLUS: channels can't be used in HT40+ operation2838 * @NL80211_RRF_NO_HT40PLUS: channels can't be used in HT40+ operation
2836 * @NL80211_RRF_NO_80MHZ: 80MHz operation not allowed2839 * @NL80211_RRF_NO_80MHZ: 80MHz operation not allowed
@@ -2847,7 +2850,7 @@ enum nl80211_reg_rule_flags { · 10 unmodified lines
2847 NL80211_RRF_NO_IR = 1<<7,2850 NL80211_RRF_NO_IR = 1<<7,
2848 __NL80211_RRF_NO_IBSS = 1<<8,2851 __NL80211_RRF_NO_IBSS = 1<<8,
2849 NL80211_RRF_AUTO_BW = 1<<11,2852 NL80211_RRF_AUTO_BW = 1<<11,
2850 NL80211_RRF_GO_CONCURRENT = 1<<12,2853 NL80211_RRF_IR_CONCURRENT = 1<<12,
2851 NL80211_RRF_NO_HT40MINUS = 1<<13,2854 NL80211_RRF_NO_HT40MINUS = 1<<13,
2852 NL80211_RRF_NO_HT40PLUS = 1<<14,2855 NL80211_RRF_NO_HT40PLUS = 1<<14,
2853 NL80211_RRF_NO_80MHZ = 1<<15,2856 NL80211_RRF_NO_80MHZ = 1<<15,
@@ -2859,6 +2862,7 @@ enum nl80211_reg_rule_flags { · 5 unmodified lines
2859#define NL80211_RRF_NO_IR NL80211_RRF_NO_IR2862#define NL80211_RRF_NO_IR NL80211_RRF_NO_IR
2860#define NL80211_RRF_NO_HT40 (NL80211_RRF_NO_HT40MINUS |\2863#define NL80211_RRF_NO_HT40 (NL80211_RRF_NO_HT40MINUS |\
2861 NL80211_RRF_NO_HT40PLUS)2864 NL80211_RRF_NO_HT40PLUS)
2865#define NL80211_RRF_GO_CONCURRENT NL80211_RRF_IR_CONCURRENT
2862 2866
2863/* For backport compatibility with older userspace */2867/* For backport compatibility with older userspace */
2864#define NL80211_RRF_NO_IR_ALL (NL80211_RRF_NO_IR | __NL80211_RRF_NO_IBSS)2868#define NL80211_RRF_NO_IR_ALL (NL80211_RRF_NO_IR | __NL80211_RRF_NO_IBSS)