diff options
author | David S. Miller <davem@davemloft.net> | 2010-12-10 12:50:47 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-12-10 12:50:47 -0500 |
commit | 1e13f863ca88014d9550876c05c939fdab1017d1 (patch) | |
tree | 1ede9804ee33d7eefb73e9535e0399dfd7f58c00 /include/net | |
parent | f404c2fea37e02bec7c8b6edddf5edd22ca60505 (diff) | |
parent | f435d9eea01309aa7b6c1f134569a7b5957918ae (diff) |
Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6
Conflicts:
drivers/net/wireless/ath/ath9k/ar9003_eeprom.c
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/bluetooth/hci.h | 16 | ||||
-rw-r--r-- | include/net/bluetooth/hci_core.h | 14 | ||||
-rw-r--r-- | include/net/bluetooth/l2cap.h | 22 | ||||
-rw-r--r-- | include/net/bluetooth/rfcomm.h | 18 | ||||
-rw-r--r-- | include/net/bluetooth/sco.h | 20 | ||||
-rw-r--r-- | include/net/cfg80211.h | 18 | ||||
-rw-r--r-- | include/net/mac80211.h | 28 |
7 files changed, 84 insertions, 52 deletions
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h index e30e00834340..f3c5ed6d7bda 100644 --- a/include/net/bluetooth/hci.h +++ b/include/net/bluetooth/hci.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | BlueZ - Bluetooth protocol stack for Linux | 2 | BlueZ - Bluetooth protocol stack for Linux |
3 | Copyright (C) 2000-2001 Qualcomm Incorporated | 3 | Copyright (C) 2000-2001 Qualcomm Incorporated |
4 | 4 | ||
@@ -12,13 +12,13 @@ | |||
12 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 12 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. | 13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. |
14 | IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY | 14 | IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY |
15 | CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES | 15 | CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES |
16 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | 16 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
17 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | 17 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
18 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 18 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
19 | 19 | ||
20 | ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, | 20 | ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, |
21 | COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS | 21 | COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS |
22 | SOFTWARE IS DISCLAIMED. | 22 | SOFTWARE IS DISCLAIMED. |
23 | */ | 23 | */ |
24 | 24 | ||
@@ -489,7 +489,7 @@ struct hci_rp_read_local_name { | |||
489 | 489 | ||
490 | #define HCI_OP_WRITE_PG_TIMEOUT 0x0c18 | 490 | #define HCI_OP_WRITE_PG_TIMEOUT 0x0c18 |
491 | 491 | ||
492 | #define HCI_OP_WRITE_SCAN_ENABLE 0x0c1a | 492 | #define HCI_OP_WRITE_SCAN_ENABLE 0x0c1a |
493 | #define SCAN_DISABLED 0x00 | 493 | #define SCAN_DISABLED 0x00 |
494 | #define SCAN_INQUIRY 0x01 | 494 | #define SCAN_INQUIRY 0x01 |
495 | #define SCAN_PAGE 0x02 | 495 | #define SCAN_PAGE 0x02 |
@@ -874,7 +874,7 @@ struct hci_ev_si_security { | |||
874 | 874 | ||
875 | struct hci_command_hdr { | 875 | struct hci_command_hdr { |
876 | __le16 opcode; /* OCF & OGF */ | 876 | __le16 opcode; /* OCF & OGF */ |
877 | __u8 plen; | 877 | __u8 plen; |
878 | } __packed; | 878 | } __packed; |
879 | 879 | ||
880 | struct hci_event_hdr { | 880 | struct hci_event_hdr { |
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h index ebec8c9a929d..9c08625617a1 100644 --- a/include/net/bluetooth/hci_core.h +++ b/include/net/bluetooth/hci_core.h | |||
@@ -44,15 +44,15 @@ struct inquiry_data { | |||
44 | }; | 44 | }; |
45 | 45 | ||
46 | struct inquiry_entry { | 46 | struct inquiry_entry { |
47 | struct inquiry_entry *next; | 47 | struct inquiry_entry *next; |
48 | __u32 timestamp; | 48 | __u32 timestamp; |
49 | struct inquiry_data data; | 49 | struct inquiry_data data; |
50 | }; | 50 | }; |
51 | 51 | ||
52 | struct inquiry_cache { | 52 | struct inquiry_cache { |
53 | spinlock_t lock; | 53 | spinlock_t lock; |
54 | __u32 timestamp; | 54 | __u32 timestamp; |
55 | struct inquiry_entry *list; | 55 | struct inquiry_entry *list; |
56 | }; | 56 | }; |
57 | 57 | ||
58 | struct hci_conn_hash { | 58 | struct hci_conn_hash { |
@@ -141,7 +141,7 @@ struct hci_dev { | |||
141 | void *driver_data; | 141 | void *driver_data; |
142 | void *core_data; | 142 | void *core_data; |
143 | 143 | ||
144 | atomic_t promisc; | 144 | atomic_t promisc; |
145 | 145 | ||
146 | struct dentry *debugfs; | 146 | struct dentry *debugfs; |
147 | 147 | ||
@@ -150,7 +150,7 @@ struct hci_dev { | |||
150 | 150 | ||
151 | struct rfkill *rfkill; | 151 | struct rfkill *rfkill; |
152 | 152 | ||
153 | struct module *owner; | 153 | struct module *owner; |
154 | 154 | ||
155 | int (*open)(struct hci_dev *hdev); | 155 | int (*open)(struct hci_dev *hdev); |
156 | int (*close)(struct hci_dev *hdev); | 156 | int (*close)(struct hci_dev *hdev); |
@@ -215,8 +215,8 @@ extern rwlock_t hci_dev_list_lock; | |||
215 | extern rwlock_t hci_cb_list_lock; | 215 | extern rwlock_t hci_cb_list_lock; |
216 | 216 | ||
217 | /* ----- Inquiry cache ----- */ | 217 | /* ----- Inquiry cache ----- */ |
218 | #define INQUIRY_CACHE_AGE_MAX (HZ*30) // 30 seconds | 218 | #define INQUIRY_CACHE_AGE_MAX (HZ*30) /* 30 seconds */ |
219 | #define INQUIRY_ENTRY_AGE_MAX (HZ*60) // 60 seconds | 219 | #define INQUIRY_ENTRY_AGE_MAX (HZ*60) /* 60 seconds */ |
220 | 220 | ||
221 | #define inquiry_cache_lock(c) spin_lock(&c->lock) | 221 | #define inquiry_cache_lock(c) spin_lock(&c->lock) |
222 | #define inquiry_cache_unlock(c) spin_unlock(&c->lock) | 222 | #define inquiry_cache_unlock(c) spin_unlock(&c->lock) |
diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h index c819c8bf9b68..7ad25ca60ec0 100644 --- a/include/net/bluetooth/l2cap.h +++ b/include/net/bluetooth/l2cap.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | BlueZ - Bluetooth protocol stack for Linux | 2 | BlueZ - Bluetooth protocol stack for Linux |
3 | Copyright (C) 2000-2001 Qualcomm Incorporated | 3 | Copyright (C) 2000-2001 Qualcomm Incorporated |
4 | Copyright (C) 2009-2010 Gustavo F. Padovan <gustavo@padovan.org> | 4 | Copyright (C) 2009-2010 Gustavo F. Padovan <gustavo@padovan.org> |
@@ -14,13 +14,13 @@ | |||
14 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 14 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. | 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. |
16 | IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY | 16 | IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY |
17 | CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES | 17 | CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES |
18 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | 18 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
19 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | 19 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
20 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 20 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
21 | 21 | ||
22 | ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, | 22 | ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, |
23 | COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS | 23 | COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS |
24 | SOFTWARE IS DISCLAIMED. | 24 | SOFTWARE IS DISCLAIMED. |
25 | */ | 25 | */ |
26 | 26 | ||
@@ -417,11 +417,11 @@ static inline int l2cap_tx_window_full(struct sock *sk) | |||
417 | return sub == pi->remote_tx_win; | 417 | return sub == pi->remote_tx_win; |
418 | } | 418 | } |
419 | 419 | ||
420 | #define __get_txseq(ctrl) ((ctrl) & L2CAP_CTRL_TXSEQ) >> 1 | 420 | #define __get_txseq(ctrl) (((ctrl) & L2CAP_CTRL_TXSEQ) >> 1) |
421 | #define __get_reqseq(ctrl) ((ctrl) & L2CAP_CTRL_REQSEQ) >> 8 | 421 | #define __get_reqseq(ctrl) (((ctrl) & L2CAP_CTRL_REQSEQ) >> 8) |
422 | #define __is_iframe(ctrl) !((ctrl) & L2CAP_CTRL_FRAME_TYPE) | 422 | #define __is_iframe(ctrl) (!((ctrl) & L2CAP_CTRL_FRAME_TYPE)) |
423 | #define __is_sframe(ctrl) (ctrl) & L2CAP_CTRL_FRAME_TYPE | 423 | #define __is_sframe(ctrl) ((ctrl) & L2CAP_CTRL_FRAME_TYPE) |
424 | #define __is_sar_start(ctrl) ((ctrl) & L2CAP_CTRL_SAR) == L2CAP_SDU_START | 424 | #define __is_sar_start(ctrl) (((ctrl) & L2CAP_CTRL_SAR) == L2CAP_SDU_START) |
425 | 425 | ||
426 | void l2cap_load(void); | 426 | void l2cap_load(void); |
427 | 427 | ||
diff --git a/include/net/bluetooth/rfcomm.h b/include/net/bluetooth/rfcomm.h index 71047bc0af84..6eac4a760c3b 100644 --- a/include/net/bluetooth/rfcomm.h +++ b/include/net/bluetooth/rfcomm.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | RFCOMM implementation for Linux Bluetooth stack (BlueZ). | 2 | RFCOMM implementation for Linux Bluetooth stack (BlueZ) |
3 | Copyright (C) 2002 Maxim Krasnyansky <maxk@qualcomm.com> | 3 | Copyright (C) 2002 Maxim Krasnyansky <maxk@qualcomm.com> |
4 | Copyright (C) 2002 Marcel Holtmann <marcel@holtmann.org> | 4 | Copyright (C) 2002 Marcel Holtmann <marcel@holtmann.org> |
5 | 5 | ||
@@ -11,13 +11,13 @@ | |||
11 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 11 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
12 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. | 12 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. |
13 | IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY | 13 | IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY |
14 | CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES | 14 | CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES |
15 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | 15 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
16 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | 16 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
17 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 17 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
18 | 18 | ||
19 | ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, | 19 | ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, |
20 | COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS | 20 | COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS |
21 | SOFTWARE IS DISCLAIMED. | 21 | SOFTWARE IS DISCLAIMED. |
22 | */ | 22 | */ |
23 | 23 | ||
@@ -105,7 +105,7 @@ | |||
105 | struct rfcomm_hdr { | 105 | struct rfcomm_hdr { |
106 | u8 addr; | 106 | u8 addr; |
107 | u8 ctrl; | 107 | u8 ctrl; |
108 | u8 len; // Actual size can be 2 bytes | 108 | u8 len; /* Actual size can be 2 bytes */ |
109 | } __packed; | 109 | } __packed; |
110 | 110 | ||
111 | struct rfcomm_cmd { | 111 | struct rfcomm_cmd { |
@@ -228,7 +228,7 @@ struct rfcomm_dlc { | |||
228 | /* ---- RFCOMM SEND RPN ---- */ | 228 | /* ---- RFCOMM SEND RPN ---- */ |
229 | int rfcomm_send_rpn(struct rfcomm_session *s, int cr, u8 dlci, | 229 | int rfcomm_send_rpn(struct rfcomm_session *s, int cr, u8 dlci, |
230 | u8 bit_rate, u8 data_bits, u8 stop_bits, | 230 | u8 bit_rate, u8 data_bits, u8 stop_bits, |
231 | u8 parity, u8 flow_ctrl_settings, | 231 | u8 parity, u8 flow_ctrl_settings, |
232 | u8 xon_char, u8 xoff_char, u16 param_mask); | 232 | u8 xon_char, u8 xoff_char, u16 param_mask); |
233 | 233 | ||
234 | /* ---- RFCOMM DLCs (channels) ---- */ | 234 | /* ---- RFCOMM DLCs (channels) ---- */ |
diff --git a/include/net/bluetooth/sco.h b/include/net/bluetooth/sco.h index e28a2a771471..1e35c43657c8 100644 --- a/include/net/bluetooth/sco.h +++ b/include/net/bluetooth/sco.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | BlueZ - Bluetooth protocol stack for Linux | 2 | BlueZ - Bluetooth protocol stack for Linux |
3 | Copyright (C) 2000-2001 Qualcomm Incorporated | 3 | Copyright (C) 2000-2001 Qualcomm Incorporated |
4 | 4 | ||
@@ -12,13 +12,13 @@ | |||
12 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 12 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. | 13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. |
14 | IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY | 14 | IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) AND AUTHOR(S) BE LIABLE FOR ANY |
15 | CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES | 15 | CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES |
16 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | 16 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
17 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | 17 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
18 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | 18 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
19 | 19 | ||
20 | ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, | 20 | ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PATENTS, |
21 | COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS | 21 | COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS, RELATING TO USE OF THIS |
22 | SOFTWARE IS DISCLAIMED. | 22 | SOFTWARE IS DISCLAIMED. |
23 | */ | 23 | */ |
24 | 24 | ||
@@ -55,11 +55,11 @@ struct sco_conninfo { | |||
55 | struct sco_conn { | 55 | struct sco_conn { |
56 | struct hci_conn *hcon; | 56 | struct hci_conn *hcon; |
57 | 57 | ||
58 | bdaddr_t *dst; | 58 | bdaddr_t *dst; |
59 | bdaddr_t *src; | 59 | bdaddr_t *src; |
60 | 60 | ||
61 | spinlock_t lock; | 61 | spinlock_t lock; |
62 | struct sock *sk; | 62 | struct sock *sk; |
63 | 63 | ||
64 | unsigned int mtu; | 64 | unsigned int mtu; |
65 | }; | 65 | }; |
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 0663945cfa48..6b2af7aeddd3 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h | |||
@@ -1134,7 +1134,9 @@ struct cfg80211_pmksa { | |||
1134 | * @cancel_remain_on_channel: Cancel an on-going remain-on-channel operation. | 1134 | * @cancel_remain_on_channel: Cancel an on-going remain-on-channel operation. |
1135 | * This allows the operation to be terminated prior to timeout based on | 1135 | * This allows the operation to be terminated prior to timeout based on |
1136 | * the duration value. | 1136 | * the duration value. |
1137 | * @mgmt_tx: Transmit a management frame | 1137 | * @mgmt_tx: Transmit a management frame. |
1138 | * @mgmt_tx_cancel_wait: Cancel the wait time from transmitting a management | ||
1139 | * frame on another channel | ||
1138 | * | 1140 | * |
1139 | * @testmode_cmd: run a test mode command | 1141 | * @testmode_cmd: run a test mode command |
1140 | * | 1142 | * |
@@ -1152,6 +1154,13 @@ struct cfg80211_pmksa { | |||
1152 | * @mgmt_frame_register: Notify driver that a management frame type was | 1154 | * @mgmt_frame_register: Notify driver that a management frame type was |
1153 | * registered. Note that this callback may not sleep, and cannot run | 1155 | * registered. Note that this callback may not sleep, and cannot run |
1154 | * concurrently with itself. | 1156 | * concurrently with itself. |
1157 | * | ||
1158 | * @set_antenna: Set antenna configuration (tx_ant, rx_ant) on the device. | ||
1159 | * Parameters are bitmaps of allowed antennas to use for TX/RX. Drivers may | ||
1160 | * reject TX/RX mask combinations they cannot support by returning -EINVAL | ||
1161 | * (also see nl80211.h @NL80211_ATTR_WIPHY_ANTENNA_TX). | ||
1162 | * | ||
1163 | * @get_antenna: Get current antenna configuration from device (tx_ant, rx_ant). | ||
1155 | */ | 1164 | */ |
1156 | struct cfg80211_ops { | 1165 | struct cfg80211_ops { |
1157 | int (*suspend)(struct wiphy *wiphy); | 1166 | int (*suspend)(struct wiphy *wiphy); |
@@ -1291,10 +1300,13 @@ struct cfg80211_ops { | |||
1291 | u64 cookie); | 1300 | u64 cookie); |
1292 | 1301 | ||
1293 | int (*mgmt_tx)(struct wiphy *wiphy, struct net_device *dev, | 1302 | int (*mgmt_tx)(struct wiphy *wiphy, struct net_device *dev, |
1294 | struct ieee80211_channel *chan, | 1303 | struct ieee80211_channel *chan, bool offchan, |
1295 | enum nl80211_channel_type channel_type, | 1304 | enum nl80211_channel_type channel_type, |
1296 | bool channel_type_valid, | 1305 | bool channel_type_valid, unsigned int wait, |
1297 | const u8 *buf, size_t len, u64 *cookie); | 1306 | const u8 *buf, size_t len, u64 *cookie); |
1307 | int (*mgmt_tx_cancel_wait)(struct wiphy *wiphy, | ||
1308 | struct net_device *dev, | ||
1309 | u64 cookie); | ||
1298 | 1310 | ||
1299 | int (*set_power_mgmt)(struct wiphy *wiphy, struct net_device *dev, | 1311 | int (*set_power_mgmt)(struct wiphy *wiphy, struct net_device *dev, |
1300 | bool enabled, int timeout); | 1312 | bool enabled, int timeout); |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index eaa4affd40cd..e411cf87fb41 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -2055,8 +2055,8 @@ static inline void ieee80211_rx_ni(struct ieee80211_hw *hw, | |||
2055 | * | 2055 | * |
2056 | * This function may not be called in IRQ context. Calls to this function | 2056 | * This function may not be called in IRQ context. Calls to this function |
2057 | * for a single hardware must be synchronized against each other. Calls | 2057 | * for a single hardware must be synchronized against each other. Calls |
2058 | * to this function and ieee80211_tx_status_irqsafe() may not be mixed | 2058 | * to this function, ieee80211_tx_status_ni() and ieee80211_tx_status_irqsafe() |
2059 | * for a single hardware. | 2059 | * may not be mixed for a single hardware. |
2060 | * | 2060 | * |
2061 | * @hw: the hardware the frame was transmitted by | 2061 | * @hw: the hardware the frame was transmitted by |
2062 | * @skb: the frame that was transmitted, owned by mac80211 after this call | 2062 | * @skb: the frame that was transmitted, owned by mac80211 after this call |
@@ -2065,13 +2065,33 @@ void ieee80211_tx_status(struct ieee80211_hw *hw, | |||
2065 | struct sk_buff *skb); | 2065 | struct sk_buff *skb); |
2066 | 2066 | ||
2067 | /** | 2067 | /** |
2068 | * ieee80211_tx_status_ni - transmit status callback (in process context) | ||
2069 | * | ||
2070 | * Like ieee80211_tx_status() but can be called in process context. | ||
2071 | * | ||
2072 | * Calls to this function, ieee80211_tx_status() and | ||
2073 | * ieee80211_tx_status_irqsafe() may not be mixed | ||
2074 | * for a single hardware. | ||
2075 | * | ||
2076 | * @hw: the hardware the frame was transmitted by | ||
2077 | * @skb: the frame that was transmitted, owned by mac80211 after this call | ||
2078 | */ | ||
2079 | static inline void ieee80211_tx_status_ni(struct ieee80211_hw *hw, | ||
2080 | struct sk_buff *skb) | ||
2081 | { | ||
2082 | local_bh_disable(); | ||
2083 | ieee80211_tx_status(hw, skb); | ||
2084 | local_bh_enable(); | ||
2085 | } | ||
2086 | |||
2087 | /** | ||
2068 | * ieee80211_tx_status_irqsafe - IRQ-safe transmit status callback | 2088 | * ieee80211_tx_status_irqsafe - IRQ-safe transmit status callback |
2069 | * | 2089 | * |
2070 | * Like ieee80211_tx_status() but can be called in IRQ context | 2090 | * Like ieee80211_tx_status() but can be called in IRQ context |
2071 | * (internally defers to a tasklet.) | 2091 | * (internally defers to a tasklet.) |
2072 | * | 2092 | * |
2073 | * Calls to this function and ieee80211_tx_status() may not be mixed for a | 2093 | * Calls to this function, ieee80211_tx_status() and |
2074 | * single hardware. | 2094 | * ieee80211_tx_status_ni() may not be mixed for a single hardware. |
2075 | * | 2095 | * |
2076 | * @hw: the hardware the frame was transmitted by | 2096 | * @hw: the hardware the frame was transmitted by |
2077 | * @skb: the frame that was transmitted, owned by mac80211 after this call | 2097 | * @skb: the frame that was transmitted, owned by mac80211 after this call |