Johannes Berg says: ==================== Lots of updates for net-next for this cycle. As usual, we have a lot of small fixes and cleanups, the bigger items are: * proper mac80211 rate control locking, to fix some random crashes (this required changing other locking as well) * mac80211 "fast-xmit", a mechanism to reduce, in most cases, the amount of code we execute while going from ndo_start_xmit() to the driver * this also clears the way for properly supporting S/G and checksum and segmentation offloads ====================
Showing the changes to include/uapi (1 of 76 files). Show all
Unified · Split
| @@ -2620,16 +2620,17 @@ enum nl80211_band_attr { · 2619 unmodified lines | |||
| 2620 | * an indoor surroundings, i.e., it is connected to AC power (and not | 2620 | * 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 master | 2621 | * 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 this | 2623 | * @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 on | 2624 | * 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 GHz | 2625 | * 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 a | 2626 | * 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 there | 2627 | * 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 of | 2628 | * 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 also | 2629 | * 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 is | 2630 | * 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 required | 2631 | * 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 allowed | 2634 | * @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 allowed | 2636 | * @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=528122 | 2642 | * See https://apps.fcc.gov/eas/comments/GetPublishedDocument.html?id=327&tn=528122 |
| 2642 | * for more information on the FCC description of the relaxations allowed | 2643 | * for more information on the FCC description of the relaxations allowed |
| 2643 | * by NL80211_FREQUENCY_ATTR_INDOOR_ONLY and | 2644 | * by NL80211_FREQUENCY_ATTR_INDOOR_ONLY and |
| 2644 | * NL80211_FREQUENCY_ATTR_GO_CONCURRENT. | 2645 | * NL80211_FREQUENCY_ATTR_IR_CONCURRENT. |
| 2645 | */ | 2646 | */ |
| 2646 | enum nl80211_frequency_attr { | 2647 | enum 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_IR | 2673 | #define NL80211_FREQUENCY_ATTR_PASSIVE_SCAN NL80211_FREQUENCY_ATTR_NO_IR |
| 2673 | #define NL80211_FREQUENCY_ATTR_NO_IBSS NL80211_FREQUENCY_ATTR_NO_IR | 2674 | #define NL80211_FREQUENCY_ATTR_NO_IBSS NL80211_FREQUENCY_ATTR_NO_IR |
| 2674 | #define NL80211_FREQUENCY_ATTR_NO_IR NL80211_FREQUENCY_ATTR_NO_IR | 2675 | #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 attributes | 2680 | * 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 calculated | 2833 | * @NL80211_RRF_AUTO_BW: maximum available bandwidth should be calculated |
| 2831 | * base on contiguous rules and wider channels will be allowed to cross | 2834 | * 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_CONCURRENT | 2836 | * @NL80211_RRF_IR_CONCURRENT: See &NL80211_FREQUENCY_ATTR_IR_CONCURRENT |
| 2834 | * @NL80211_RRF_NO_HT40MINUS: channels can't be used in HT40- operation | 2837 | * @NL80211_RRF_NO_HT40MINUS: channels can't be used in HT40- operation |
| 2835 | * @NL80211_RRF_NO_HT40PLUS: channels can't be used in HT40+ operation | 2838 | * @NL80211_RRF_NO_HT40PLUS: channels can't be used in HT40+ operation |
| 2836 | * @NL80211_RRF_NO_80MHZ: 80MHz operation not allowed | 2839 | * @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_IR | 2862 | #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) |