aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/ieee80211.h3
-rw-r--r--include/linux/mmc/sdio.h2
-rw-r--r--include/linux/nl80211.h8
-rw-r--r--include/net/cfg80211.h11
-rw-r--r--include/net/iw_handler.h2
-rw-r--r--include/net/mac80211.h10
6 files changed, 33 insertions, 3 deletions
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h
index 19984958ab7..1252ba1fbff 100644
--- a/include/linux/ieee80211.h
+++ b/include/linux/ieee80211.h
@@ -1211,6 +1211,8 @@ enum ieee80211_category {
1211 WLAN_CATEGORY_SA_QUERY = 8, 1211 WLAN_CATEGORY_SA_QUERY = 8,
1212 WLAN_CATEGORY_PROTECTED_DUAL_OF_ACTION = 9, 1212 WLAN_CATEGORY_PROTECTED_DUAL_OF_ACTION = 9,
1213 WLAN_CATEGORY_WMM = 17, 1213 WLAN_CATEGORY_WMM = 17,
1214 WLAN_CATEGORY_MESH_PLINK = 30, /* Pending ANA approval */
1215 WLAN_CATEGORY_MESH_PATH_SEL = 32, /* Pending ANA approval */
1214 WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126, 1216 WLAN_CATEGORY_VENDOR_SPECIFIC_PROTECTED = 126,
1215 WLAN_CATEGORY_VENDOR_SPECIFIC = 127, 1217 WLAN_CATEGORY_VENDOR_SPECIFIC = 127,
1216}; 1218};
@@ -1324,7 +1326,6 @@ enum ieee80211_back_actioncode {
1324enum ieee80211_back_parties { 1326enum ieee80211_back_parties {
1325 WLAN_BACK_RECIPIENT = 0, 1327 WLAN_BACK_RECIPIENT = 0,
1326 WLAN_BACK_INITIATOR = 1, 1328 WLAN_BACK_INITIATOR = 1,
1327 WLAN_BACK_TIMER = 2,
1328}; 1329};
1329 1330
1330/* SA Query action */ 1331/* SA Query action */
diff --git a/include/linux/mmc/sdio.h b/include/linux/mmc/sdio.h
index 0ebaef577ff..329a8faa6e3 100644
--- a/include/linux/mmc/sdio.h
+++ b/include/linux/mmc/sdio.h
@@ -94,6 +94,8 @@
94 94
95#define SDIO_BUS_WIDTH_1BIT 0x00 95#define SDIO_BUS_WIDTH_1BIT 0x00
96#define SDIO_BUS_WIDTH_4BIT 0x02 96#define SDIO_BUS_WIDTH_4BIT 0x02
97#define SDIO_BUS_ECSI 0x20 /* Enable continuous SPI interrupt */
98#define SDIO_BUS_SCSI 0x40 /* Support continuous SPI interrupt */
97 99
98#define SDIO_BUS_ASYNC_INT 0x20 100#define SDIO_BUS_ASYNC_INT 0x20
99 101
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index daf6a3432b9..2ea3edeee7a 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -703,6 +703,12 @@ enum nl80211_commands {
703 * @NL80211_ATTR_CQM: connection quality monitor configuration in a 703 * @NL80211_ATTR_CQM: connection quality monitor configuration in a
704 * nested attribute with %NL80211_ATTR_CQM_* sub-attributes. 704 * nested attribute with %NL80211_ATTR_CQM_* sub-attributes.
705 * 705 *
706 * @NL80211_ATTR_LOCAL_STATE_CHANGE: Flag attribute to indicate that a command
707 * is requesting a local authentication/association state change without
708 * invoking actual management frame exchange. This can be used with
709 * NL80211_CMD_AUTHENTICATE, NL80211_CMD_DEAUTHENTICATE,
710 * NL80211_CMD_DISASSOCIATE.
711 *
706 * @NL80211_ATTR_MAX: highest attribute number currently defined 712 * @NL80211_ATTR_MAX: highest attribute number currently defined
707 * @__NL80211_ATTR_AFTER_LAST: internal use 713 * @__NL80211_ATTR_AFTER_LAST: internal use
708 */ 714 */
@@ -856,6 +862,8 @@ enum nl80211_attrs {
856 862
857 NL80211_ATTR_CQM, 863 NL80211_ATTR_CQM,
858 864
865 NL80211_ATTR_LOCAL_STATE_CHANGE,
866
859 /* add attributes here, update the policy in nl80211.c */ 867 /* add attributes here, update the policy in nl80211.c */
860 868
861 __NL80211_ATTR_AFTER_LAST, 869 __NL80211_ATTR_AFTER_LAST,
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index 868cfd3b972..37cebd3aa0f 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -704,6 +704,10 @@ struct cfg80211_crypto_settings {
704 * @key_len: length of WEP key for shared key authentication 704 * @key_len: length of WEP key for shared key authentication
705 * @key_idx: index of WEP key for shared key authentication 705 * @key_idx: index of WEP key for shared key authentication
706 * @key: WEP key for shared key authentication 706 * @key: WEP key for shared key authentication
707 * @local_state_change: This is a request for a local state only, i.e., no
708 * Authentication frame is to be transmitted and authentication state is
709 * to be changed without having to wait for a response from the peer STA
710 * (AP).
707 */ 711 */
708struct cfg80211_auth_request { 712struct cfg80211_auth_request {
709 struct cfg80211_bss *bss; 713 struct cfg80211_bss *bss;
@@ -712,6 +716,7 @@ struct cfg80211_auth_request {
712 enum nl80211_auth_type auth_type; 716 enum nl80211_auth_type auth_type;
713 const u8 *key; 717 const u8 *key;
714 u8 key_len, key_idx; 718 u8 key_len, key_idx;
719 bool local_state_change;
715}; 720};
716 721
717/** 722/**
@@ -744,12 +749,15 @@ struct cfg80211_assoc_request {
744 * @ie: Extra IEs to add to Deauthentication frame or %NULL 749 * @ie: Extra IEs to add to Deauthentication frame or %NULL
745 * @ie_len: Length of ie buffer in octets 750 * @ie_len: Length of ie buffer in octets
746 * @reason_code: The reason code for the deauthentication 751 * @reason_code: The reason code for the deauthentication
752 * @local_state_change: This is a request for a local state only, i.e., no
753 * Deauthentication frame is to be transmitted.
747 */ 754 */
748struct cfg80211_deauth_request { 755struct cfg80211_deauth_request {
749 struct cfg80211_bss *bss; 756 struct cfg80211_bss *bss;
750 const u8 *ie; 757 const u8 *ie;
751 size_t ie_len; 758 size_t ie_len;
752 u16 reason_code; 759 u16 reason_code;
760 bool local_state_change;
753}; 761};
754 762
755/** 763/**
@@ -762,12 +770,15 @@ struct cfg80211_deauth_request {
762 * @ie: Extra IEs to add to Disassociation frame or %NULL 770 * @ie: Extra IEs to add to Disassociation frame or %NULL
763 * @ie_len: Length of ie buffer in octets 771 * @ie_len: Length of ie buffer in octets
764 * @reason_code: The reason code for the disassociation 772 * @reason_code: The reason code for the disassociation
773 * @local_state_change: This is a request for a local state only, i.e., no
774 * Disassociation frame is to be transmitted.
765 */ 775 */
766struct cfg80211_disassoc_request { 776struct cfg80211_disassoc_request {
767 struct cfg80211_bss *bss; 777 struct cfg80211_bss *bss;
768 const u8 *ie; 778 const u8 *ie;
769 size_t ie_len; 779 size_t ie_len;
770 u16 reason_code; 780 u16 reason_code;
781 bool local_state_change;
771}; 782};
772 783
773/** 784/**
diff --git a/include/net/iw_handler.h b/include/net/iw_handler.h
index b2b98f3fa26..3afdb21cc31 100644
--- a/include/net/iw_handler.h
+++ b/include/net/iw_handler.h
@@ -323,7 +323,7 @@ typedef int (*iw_handler)(struct net_device *dev, struct iw_request_info *info,
323struct iw_handler_def { 323struct iw_handler_def {
324 324
325 /* Array of handlers for standard ioctls 325 /* Array of handlers for standard ioctls
326 * We will call dev->wireless_handlers->standard[ioctl - SIOCSIWCOMMIT] 326 * We will call dev->wireless_handlers->standard[ioctl - SIOCIWFIRST]
327 */ 327 */
328 const iw_handler * standard; 328 const iw_handler * standard;
329 /* Number of handlers defined (more precisely, index of the 329 /* Number of handlers defined (more precisely, index of the
diff --git a/include/net/mac80211.h b/include/net/mac80211.h
index 20823d04e03..344e5bf7206 100644
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
@@ -587,11 +587,15 @@ struct ieee80211_rx_status {
587 * may turn the device off as much as possible. Typically, this flag will 587 * may turn the device off as much as possible. Typically, this flag will
588 * be set when an interface is set UP but not associated or scanning, but 588 * be set when an interface is set UP but not associated or scanning, but
589 * it can also be unset in that case when monitor interfaces are active. 589 * it can also be unset in that case when monitor interfaces are active.
590 * @IEEE80211_CONF_QOS: Enable 802.11e QoS also know as WMM (Wireless
591 * Multimedia). On some drivers (iwlwifi is one of know) we have
592 * to enable/disable QoS explicitly.
590 */ 593 */
591enum ieee80211_conf_flags { 594enum ieee80211_conf_flags {
592 IEEE80211_CONF_MONITOR = (1<<0), 595 IEEE80211_CONF_MONITOR = (1<<0),
593 IEEE80211_CONF_PS = (1<<1), 596 IEEE80211_CONF_PS = (1<<1),
594 IEEE80211_CONF_IDLE = (1<<2), 597 IEEE80211_CONF_IDLE = (1<<2),
598 IEEE80211_CONF_QOS = (1<<3),
595}; 599};
596 600
597 601
@@ -616,6 +620,7 @@ enum ieee80211_conf_changed {
616 IEEE80211_CONF_CHANGE_CHANNEL = BIT(6), 620 IEEE80211_CONF_CHANGE_CHANNEL = BIT(6),
617 IEEE80211_CONF_CHANGE_RETRY_LIMITS = BIT(7), 621 IEEE80211_CONF_CHANGE_RETRY_LIMITS = BIT(7),
618 IEEE80211_CONF_CHANGE_IDLE = BIT(8), 622 IEEE80211_CONF_CHANGE_IDLE = BIT(8),
623 IEEE80211_CONF_CHANGE_QOS = BIT(9),
619}; 624};
620 625
621/** 626/**
@@ -1822,7 +1827,10 @@ void ieee80211_restart_hw(struct ieee80211_hw *hw);
1822 * ieee80211_rx - receive frame 1827 * ieee80211_rx - receive frame
1823 * 1828 *
1824 * Use this function to hand received frames to mac80211. The receive 1829 * Use this function to hand received frames to mac80211. The receive
1825 * buffer in @skb must start with an IEEE 802.11 header. 1830 * buffer in @skb must start with an IEEE 802.11 header. In case of a
1831 * paged @skb is used, the driver is recommended to put the ieee80211
1832 * header of the frame on the linear part of the @skb to avoid memory
1833 * allocation and/or memcpy by the stack.
1826 * 1834 *
1827 * This function may not be called in IRQ context. Calls to this function 1835 * This function may not be called in IRQ context. Calls to this function
1828 * for a single hardware must be synchronized against each other. Calls to 1836 * for a single hardware must be synchronized against each other. Calls to