aboutsummaryrefslogtreecommitdiffstats
path: root/package/network/utils/iw/patches/001-nl80211_h_sync.patch
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2016-11-12 15:59:00 +0100
committerRafał Miłecki <rafal@milecki.pl>2016-11-12 16:04:16 +0100
commit7305b55588d698fa1496828a6cccfe729700eb59 (patch)
treea7356febeb2aca68cc6d3f4b957cc6fa47aba18c /package/network/utils/iw/patches/001-nl80211_h_sync.patch
parent9cac5e8be014b89326880ae5d7b885013614e0ca (diff)
downloadupstream-7305b55588d698fa1496828a6cccfe729700eb59.tar.gz
upstream-7305b55588d698fa1496828a6cccfe729700eb59.tar.bz2
upstream-7305b55588d698fa1496828a6cccfe729700eb59.zip
iw: update to version 4.7
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Diffstat (limited to 'package/network/utils/iw/patches/001-nl80211_h_sync.patch')
-rw-r--r--package/network/utils/iw/patches/001-nl80211_h_sync.patch323
1 files changed, 20 insertions, 303 deletions
diff --git a/package/network/utils/iw/patches/001-nl80211_h_sync.patch b/package/network/utils/iw/patches/001-nl80211_h_sync.patch
index e5ea8f7c8a..cf39a3e5fc 100644
--- a/package/network/utils/iw/patches/001-nl80211_h_sync.patch
+++ b/package/network/utils/iw/patches/001-nl80211_h_sync.patch
@@ -1,145 +1,9 @@
--- a/nl80211.h
+++ b/nl80211.h
-@@ -10,6 +10,7 @@
- * Copyright 2008, 2009 Luis R. Rodriguez <lrodriguez@atheros.com>
- * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
- * Copyright 2008 Colin McCabe <colin@cozybit.com>
-+ * Copyright 2015 Intel Deutschland GmbH
+@@ -1817,6 +1817,11 @@ enum nl80211_commands {
+ * @NL80211_ATTR_STA_SUPPORT_P2P_PS: whether P2P PS mechanism supported
+ * or not. u8, one of the values of &enum nl80211_sta_p2p_ps_status
*
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
-@@ -321,14 +322,24 @@
- * @NL80211_CMD_GET_SCAN: get scan results
- * @NL80211_CMD_TRIGGER_SCAN: trigger a new scan with the given parameters
- * %NL80211_ATTR_TX_NO_CCK_RATE is used to decide whether to send the
-- * probe requests at CCK rate or not.
-+ * probe requests at CCK rate or not. %NL80211_ATTR_MAC can be used to
-+ * specify a BSSID to scan for; if not included, the wildcard BSSID will
-+ * be used.
- * @NL80211_CMD_NEW_SCAN_RESULTS: scan notification (as a reply to
- * NL80211_CMD_GET_SCAN and on the "scan" multicast group)
- * @NL80211_CMD_SCAN_ABORTED: scan was aborted, for unspecified reasons,
- * partial scan results may be available
- *
- * @NL80211_CMD_START_SCHED_SCAN: start a scheduled scan at certain
-- * intervals, as specified by %NL80211_ATTR_SCHED_SCAN_INTERVAL.
-+ * intervals and certain number of cycles, as specified by
-+ * %NL80211_ATTR_SCHED_SCAN_PLANS. If %NL80211_ATTR_SCHED_SCAN_PLANS is
-+ * not specified and only %NL80211_ATTR_SCHED_SCAN_INTERVAL is specified,
-+ * scheduled scan will run in an infinite loop with the specified interval.
-+ * These attributes are mutually exculsive,
-+ * i.e. NL80211_ATTR_SCHED_SCAN_INTERVAL must not be passed if
-+ * NL80211_ATTR_SCHED_SCAN_PLANS is defined.
-+ * If for some reason scheduled scan is aborted by the driver, all scan
-+ * plans are canceled (including scan plans that did not start yet).
- * Like with normal scans, if SSIDs (%NL80211_ATTR_SCAN_SSIDS)
- * are passed, they are used in the probe requests. For
- * broadcast, a broadcast SSID must be passed (ie. an empty
-@@ -418,7 +429,11 @@
- * @NL80211_CMD_ASSOCIATE: association request and notification; like
- * NL80211_CMD_AUTHENTICATE but for Association and Reassociation
- * (similar to MLME-ASSOCIATE.request, MLME-REASSOCIATE.request,
-- * MLME-ASSOCIATE.confirm or MLME-REASSOCIATE.confirm primitives).
-+ * MLME-ASSOCIATE.confirm or MLME-REASSOCIATE.confirm primitives). The
-+ * %NL80211_ATTR_PREV_BSSID attribute is used to specify whether the
-+ * request is for the initial association to an ESS (that attribute not
-+ * included) or for reassociation within the ESS (that attribute is
-+ * included).
- * @NL80211_CMD_DEAUTHENTICATE: deauthentication request and notification; like
- * NL80211_CMD_AUTHENTICATE but for Deauthentication frames (similar to
- * MLME-DEAUTHENTICATION.request and MLME-DEAUTHENTICATE.indication
-@@ -468,6 +483,9 @@
- * set of BSSID,frequency parameters is used (i.e., either the enforcing
- * %NL80211_ATTR_MAC,%NL80211_ATTR_WIPHY_FREQ or the less strict
- * %NL80211_ATTR_MAC_HINT and %NL80211_ATTR_WIPHY_FREQ_HINT).
-+ * %NL80211_ATTR_PREV_BSSID can be used to request a reassociation within
-+ * the ESS in case the device is already associated and an association with
-+ * a different BSS is desired.
- * Background scan period can optionally be
- * specified in %NL80211_ATTR_BG_SCAN_PERIOD,
- * if not specified default background scan configuration
-@@ -811,6 +829,10 @@
- * as an event to indicate changes for devices with wiphy-specific regdom
- * management.
- *
-+ * @NL80211_CMD_ABORT_SCAN: Stop an ongoing scan. Returns -ENOENT if a scan is
-+ * not running. The driver indicates the status of the scan through
-+ * cfg80211_scan_done().
-+ *
- * @NL80211_CMD_MAX: highest used command number
- * @__NL80211_CMD_AFTER_LAST: internal use
- */
-@@ -997,6 +1019,8 @@ enum nl80211_commands {
-
- NL80211_CMD_WIPHY_REG_CHANGE,
-
-+ NL80211_CMD_ABORT_SCAN,
-+
- /* add new commands above here */
-
- /* used to define NL80211_CMD_MAX below */
-@@ -1270,8 +1294,11 @@ enum nl80211_commands {
- * @NL80211_ATTR_RESP_IE: (Re)association response information elements as
- * sent by peer, for ROAM and successful CONNECT events.
- *
-- * @NL80211_ATTR_PREV_BSSID: previous BSSID, to be used by in ASSOCIATE
-- * commands to specify using a reassociate frame
-+ * @NL80211_ATTR_PREV_BSSID: previous BSSID, to be used in ASSOCIATE and CONNECT
-+ * commands to specify a request to reassociate within an ESS, i.e., to use
-+ * Reassociate Request frame (with the value of this attribute in the
-+ * Current AP address field) instead of Association Request frame which is
-+ * used for the initial association to an ESS.
- *
- * @NL80211_ATTR_KEY: key information in a nested attribute with
- * %NL80211_KEY_* sub-attributes
-@@ -1712,6 +1739,8 @@ enum nl80211_commands {
- * underlying device supports these minimal RRM features:
- * %NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES,
- * %NL80211_FEATURE_QUIET,
-+ * Or, if global RRM is supported, see:
-+ * %NL80211_EXT_FEATURE_RRM
- * If this flag is used, driver must add the Power Capabilities IE to the
- * association request. In addition, it must also set the RRM capability
- * flag in the association request's Capability Info field.
-@@ -1755,12 +1784,44 @@ enum nl80211_commands {
- * over all channels.
- *
- * @NL80211_ATTR_SCHED_SCAN_DELAY: delay before the first cycle of a
-- * scheduled scan (or a WoWLAN net-detect scan) is started, u32
-- * in seconds.
-+ * scheduled scan is started. Or the delay before a WoWLAN
-+ * net-detect scan is started, counting from the moment the
-+ * system is suspended. This value is a u32, in seconds.
-
- * @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device
- * is operating in an indoor environment.
- *
-+ * @NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS: maximum number of scan plans for
-+ * scheduled scan supported by the device (u32), a wiphy attribute.
-+ * @NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL: maximum interval (in seconds) for
-+ * a scan plan (u32), a wiphy attribute.
-+ * @NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS: maximum number of iterations in
-+ * a scan plan (u32), a wiphy attribute.
-+ * @NL80211_ATTR_SCHED_SCAN_PLANS: a list of scan plans for scheduled scan.
-+ * Each scan plan defines the number of scan iterations and the interval
-+ * between scans. The last scan plan will always run infinitely,
-+ * thus it must not specify the number of iterations, only the interval
-+ * between scans. The scan plans are executed sequentially.
-+ * Each scan plan is a nested attribute of &enum nl80211_sched_scan_plan.
-+ * @NL80211_ATTR_PBSS: flag attribute. If set it means operate
-+ * in a PBSS. Specified in %NL80211_CMD_CONNECT to request
-+ * connecting to a PCP, and in %NL80211_CMD_START_AP to start
-+ * a PCP instead of AP. Relevant for DMG networks only.
-+ * @NL80211_ATTR_BSS_SELECT: nested attribute for driver supporting the
-+ * BSS selection feature. When used with %NL80211_CMD_GET_WIPHY it contains
-+ * attributes according &enum nl80211_bss_select_attr to indicate what
-+ * BSS selection behaviours are supported. When used with %NL80211_CMD_CONNECT
-+ * it contains the behaviour-specific attribute containing the parameters for
-+ * BSS selection to be done by driver and/or firmware.
-+ *
-+ * @NL80211_ATTR_STA_SUPPORT_P2P_PS: whether P2P PS mechanism supported
-+ * or not. u8, one of the values of &enum nl80211_sta_p2p_ps_status
-+ *
+ * @NL80211_ATTR_PAD: attribute used for padding for 64-bit alignment
+ *
+ * @NL80211_ATTR_WIPHY_ANTENNA_GAIN: Configured antenna gain. Used to reduce
@@ -148,21 +12,10 @@
* @NUM_NL80211_ATTR: total number of nl80211_attrs available
* @NL80211_ATTR_MAX: highest attribute number currently defined
* @__NL80211_ATTR_AFTER_LAST: internal use
-@@ -2130,6 +2191,21 @@ enum nl80211_attrs {
+@@ -2197,6 +2202,10 @@ enum nl80211_attrs {
- NL80211_ATTR_REG_INDOOR,
+ NL80211_ATTR_STA_SUPPORT_P2P_PS,
-+ NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS,
-+ NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL,
-+ NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS,
-+ NL80211_ATTR_SCHED_SCAN_PLANS,
-+
-+ NL80211_ATTR_PBSS,
-+
-+ NL80211_ATTR_BSS_SELECT,
-+
-+ NL80211_ATTR_STA_SUPPORT_P2P_PS,
-+
+ NL80211_ATTR_PAD,
+
+ NL80211_ATTR_WIPHY_ANTENNA_GAIN,
@@ -170,47 +23,23 @@
/* add attributes here, update the policy in nl80211.c */
__NL80211_ATTR_AFTER_LAST,
-@@ -2273,6 +2349,20 @@ enum nl80211_sta_flags {
- NL80211_STA_FLAG_MAX = __NL80211_STA_FLAG_AFTER_LAST - 1
- };
-
-+/**
-+ * enum nl80211_sta_p2p_ps_status - station support of P2P PS
-+ *
-+ * @NL80211_P2P_PS_UNSUPPORTED: station doesn't support P2P PS mechanism
-+ * @@NL80211_P2P_PS_SUPPORTED: station supports P2P PS mechanism
-+ * @NUM_NL80211_P2P_PS_STATUS: number of values
-+ */
-+enum nl80211_sta_p2p_ps_status {
-+ NL80211_P2P_PS_UNSUPPORTED = 0,
-+ NL80211_P2P_PS_SUPPORTED,
-+
-+ NUM_NL80211_P2P_PS_STATUS,
-+};
-+
- #define NL80211_STA_FLAG_MAX_OLD_API NL80211_STA_FLAG_TDLS_PEER
-
- /**
-@@ -2430,6 +2520,9 @@ enum nl80211_sta_bss_param {
- * TID+1 and the special TID 16 (i.e. value 17) is used for non-QoS frames;
- * each one of those is again nested with &enum nl80211_tid_stats
+@@ -2513,6 +2522,7 @@ enum nl80211_sta_bss_param {
* attributes carrying the actual values.
-+ * @NL80211_STA_INFO_RX_DURATION: aggregate PPDU duration for all frames
-+ * received from the station (u64, usec)
+ * @NL80211_STA_INFO_RX_DURATION: aggregate PPDU duration for all frames
+ * received from the station (u64, usec)
+ * @NL80211_STA_INFO_PAD: attribute used for padding for 64-bit alignment
* @__NL80211_STA_INFO_AFTER_LAST: internal
* @NL80211_STA_INFO_MAX: highest possible station info attribute
*/
-@@ -2466,6 +2559,8 @@ enum nl80211_sta_info {
- NL80211_STA_INFO_BEACON_RX,
+@@ -2550,6 +2560,7 @@ enum nl80211_sta_info {
NL80211_STA_INFO_BEACON_SIGNAL_AVG,
NL80211_STA_INFO_TID_STATS,
-+ NL80211_STA_INFO_RX_DURATION,
+ NL80211_STA_INFO_RX_DURATION,
+ NL80211_STA_INFO_PAD,
/* keep last */
__NL80211_STA_INFO_AFTER_LAST,
-@@ -2482,6 +2577,7 @@ enum nl80211_sta_info {
+@@ -2566,6 +2577,7 @@ enum nl80211_sta_info {
* transmitted MSDUs (not counting the first attempt; u64)
* @NL80211_TID_STATS_TX_MSDU_FAILED: number of failed transmitted
* MSDUs (u64)
@@ -218,7 +47,7 @@
* @NUM_NL80211_TID_STATS: number of attributes here
* @NL80211_TID_STATS_MAX: highest numbered attribute here
*/
-@@ -2491,6 +2587,7 @@ enum nl80211_tid_stats {
+@@ -2575,6 +2587,7 @@ enum nl80211_tid_stats {
NL80211_TID_STATS_TX_MSDU,
NL80211_TID_STATS_TX_MSDU_RETRIES,
NL80211_TID_STATS_TX_MSDU_FAILED,
@@ -226,7 +55,7 @@
/* keep last */
NUM_NL80211_TID_STATS,
-@@ -2927,6 +3024,7 @@ enum nl80211_user_reg_hint_type {
+@@ -3011,6 +3024,7 @@ enum nl80211_user_reg_hint_type {
* transmitting data (on channel or globally)
* @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan
* (on this channel or globally)
@@ -234,7 +63,7 @@
* @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
* currently defined
* @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
-@@ -2942,6 +3040,7 @@ enum nl80211_survey_info {
+@@ -3026,6 +3040,7 @@ enum nl80211_survey_info {
NL80211_SURVEY_INFO_TIME_RX,
NL80211_SURVEY_INFO_TIME_TX,
NL80211_SURVEY_INFO_TIME_SCAN,
@@ -242,131 +71,19 @@
/* keep last */
__NL80211_SURVEY_INFO_AFTER_LAST,
-@@ -3364,6 +3463,10 @@ enum nl80211_bss_scan_width {
- * (not present if no beacon frame has been received yet)
- * @NL80211_BSS_PRESP_DATA: the data in @NL80211_BSS_INFORMATION_ELEMENTS and
- * @NL80211_BSS_TSF is known to be from a probe response (flag attribute)
-+ * @NL80211_BSS_LAST_SEEN_BOOTTIME: CLOCK_BOOTTIME timestamp when this entry
-+ * was last updated by a received frame. The value is expected to be
-+ * accurate to about 10ms. (u64, nanoseconds)
+@@ -3451,6 +3466,7 @@ enum nl80211_bss_scan_width {
+ * @NL80211_BSS_LAST_SEEN_BOOTTIME: CLOCK_BOOTTIME timestamp when this entry
+ * was last updated by a received frame. The value is expected to be
+ * accurate to about 10ms. (u64, nanoseconds)
+ * @NL80211_BSS_PAD: attribute used for padding for 64-bit alignment
* @__NL80211_BSS_AFTER_LAST: internal
* @NL80211_BSS_MAX: highest BSS attribute
*/
-@@ -3383,6 +3486,8 @@ enum nl80211_bss {
- NL80211_BSS_CHAN_WIDTH,
+@@ -3471,6 +3487,7 @@ enum nl80211_bss {
NL80211_BSS_BEACON_TSF,
NL80211_BSS_PRESP_DATA,
-+ NL80211_BSS_LAST_SEEN_BOOTTIME,
+ NL80211_BSS_LAST_SEEN_BOOTTIME,
+ NL80211_BSS_PAD,
/* keep last */
__NL80211_BSS_AFTER_LAST,
-@@ -3568,11 +3673,15 @@ enum nl80211_txrate_gi {
- * @NL80211_BAND_2GHZ: 2.4 GHz ISM band
- * @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz)
- * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 64.80 GHz)
-+ * @NUM_NL80211_BANDS: number of bands, avoid using this in userspace
-+ * since newer kernel versions may support more bands
- */
- enum nl80211_band {
- NL80211_BAND_2GHZ,
- NL80211_BAND_5GHZ,
- NL80211_BAND_60GHZ,
-+
-+ NUM_NL80211_BANDS,
- };
-
- /**
-@@ -4358,12 +4467,18 @@ enum nl80211_feature_flags {
- /**
- * enum nl80211_ext_feature_index - bit index of extended features.
- * @NL80211_EXT_FEATURE_VHT_IBSS: This driver supports IBSS with VHT datarates.
-+ * @NL80211_EXT_FEATURE_RRM: This driver supports RRM. When featured, user can
-+ * can request to use RRM (see %NL80211_ATTR_USE_RRM) with
-+ * %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests, which will set
-+ * the ASSOC_REQ_USE_RRM flag in the association request even if
-+ * NL80211_FEATURE_QUIET is not advertized.
- *
- * @NUM_NL80211_EXT_FEATURES: number of extended features.
- * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
- */
- enum nl80211_ext_feature_index {
- NL80211_EXT_FEATURE_VHT_IBSS,
-+ NL80211_EXT_FEATURE_RRM,
-
- /* add new features before the definition below */
- NUM_NL80211_EXT_FEATURES,
-@@ -4589,4 +4704,72 @@ enum nl80211_tdls_peer_capability {
- NL80211_TDLS_PEER_WMM = 1<<2,
- };
-
-+/**
-+ * enum nl80211_sched_scan_plan - scanning plan for scheduled scan
-+ * @__NL80211_SCHED_SCAN_PLAN_INVALID: attribute number 0 is reserved
-+ * @NL80211_SCHED_SCAN_PLAN_INTERVAL: interval between scan iterations. In
-+ * seconds (u32).
-+ * @NL80211_SCHED_SCAN_PLAN_ITERATIONS: number of scan iterations in this
-+ * scan plan (u32). The last scan plan must not specify this attribute
-+ * because it will run infinitely. A value of zero is invalid as it will
-+ * make the scan plan meaningless.
-+ * @NL80211_SCHED_SCAN_PLAN_MAX: highest scheduled scan plan attribute number
-+ * currently defined
-+ * @__NL80211_SCHED_SCAN_PLAN_AFTER_LAST: internal use
-+ */
-+enum nl80211_sched_scan_plan {
-+ __NL80211_SCHED_SCAN_PLAN_INVALID,
-+ NL80211_SCHED_SCAN_PLAN_INTERVAL,
-+ NL80211_SCHED_SCAN_PLAN_ITERATIONS,
-+
-+ /* keep last */
-+ __NL80211_SCHED_SCAN_PLAN_AFTER_LAST,
-+ NL80211_SCHED_SCAN_PLAN_MAX =
-+ __NL80211_SCHED_SCAN_PLAN_AFTER_LAST - 1
-+};
-+
-+/**
-+ * struct nl80211_bss_select_rssi_adjust - RSSI adjustment parameters.
-+ *
-+ * @band: band of BSS that must match for RSSI value adjustment.
-+ * @delta: value used to adjust the RSSI value of matching BSS.
-+ */
-+struct nl80211_bss_select_rssi_adjust {
-+ __u8 band;
-+ __s8 delta;
-+} __attribute__((packed));
-+
-+/**
-+ * enum nl80211_bss_select_attr - attributes for bss selection.
-+ *
-+ * @__NL80211_BSS_SELECT_ATTR_INVALID: reserved.
-+ * @NL80211_BSS_SELECT_ATTR_RSSI: Flag indicating only RSSI-based BSS selection
-+ * is requested.
-+ * @NL80211_BSS_SELECT_ATTR_BAND_PREF: attribute indicating BSS
-+ * selection should be done such that the specified band is preferred.
-+ * When there are multiple BSS-es in the preferred band, the driver
-+ * shall use RSSI-based BSS selection as a second step. The value of
-+ * this attribute is according to &enum nl80211_band (u32).
-+ * @NL80211_BSS_SELECT_ATTR_RSSI_ADJUST: When present the RSSI level for
-+ * BSS-es in the specified band is to be adjusted before doing
-+ * RSSI-based BSS selection. The attribute value is a packed structure
-+ * value as specified by &struct nl80211_bss_select_rssi_adjust.
-+ * @NL80211_BSS_SELECT_ATTR_MAX: highest bss select attribute number.
-+ * @__NL80211_BSS_SELECT_ATTR_AFTER_LAST: internal use.
-+ *
-+ * One and only one of these attributes are found within %NL80211_ATTR_BSS_SELECT
-+ * for %NL80211_CMD_CONNECT. It specifies the required BSS selection behaviour
-+ * which the driver shall use.
-+ */
-+enum nl80211_bss_select_attr {
-+ __NL80211_BSS_SELECT_ATTR_INVALID,
-+ NL80211_BSS_SELECT_ATTR_RSSI,
-+ NL80211_BSS_SELECT_ATTR_BAND_PREF,
-+ NL80211_BSS_SELECT_ATTR_RSSI_ADJUST,
-+
-+ /* keep last */
-+ __NL80211_BSS_SELECT_ATTR_AFTER_LAST,
-+ NL80211_BSS_SELECT_ATTR_MAX = __NL80211_BSS_SELECT_ATTR_AFTER_LAST - 1
-+};
-+
- #endif /* __LINUX_NL80211_H */