aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2010-12-06 15:35:34 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-12-06 15:35:34 -0500
commitf435d9eea01309aa7b6c1f134569a7b5957918ae (patch)
tree2737a48d423a8191671098b15aabd6391af2d23a /include
parent5ee493767352314893520ac40aec5bb07d0147e0 (diff)
parent09f921f83faa49cdea25abfb98c439c01526b89d (diff)
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next-2.6 into for-davem
Diffstat (limited to 'include')
-rw-r--r--include/linux/nl80211.h25
-rw-r--r--include/linux/ssb/ssb.h4
-rw-r--r--include/linux/ssb/ssb_regs.h40
-rw-r--r--include/net/bluetooth/hci.h16
-rw-r--r--include/net/bluetooth/hci_core.h14
-rw-r--r--include/net/bluetooth/l2cap.h22
-rw-r--r--include/net/bluetooth/rfcomm.h18
-rw-r--r--include/net/bluetooth/sco.h20
-rw-r--r--include/net/cfg80211.h18
-rw-r--r--include/net/mac80211.h28
10 files changed, 148 insertions, 57 deletions
diff --git a/include/linux/nl80211.h b/include/linux/nl80211.h
index d706bf3badc8..5cfa579df476 100644
--- a/include/linux/nl80211.h
+++ b/include/linux/nl80211.h
@@ -358,11 +358,16 @@
358 * user space application). %NL80211_ATTR_FRAME is used to specify the 358 * user space application). %NL80211_ATTR_FRAME is used to specify the
359 * frame contents (including header). %NL80211_ATTR_WIPHY_FREQ (and 359 * frame contents (including header). %NL80211_ATTR_WIPHY_FREQ (and
360 * optionally %NL80211_ATTR_WIPHY_CHANNEL_TYPE) is used to indicate on 360 * optionally %NL80211_ATTR_WIPHY_CHANNEL_TYPE) is used to indicate on
361 * which channel the frame is to be transmitted or was received. This 361 * which channel the frame is to be transmitted or was received. If this
362 * channel has to be the current channel (remain-on-channel or the 362 * channel is not the current channel (remain-on-channel or the
363 * operational channel). When called, this operation returns a cookie 363 * operational channel) the device will switch to the given channel and
364 * (%NL80211_ATTR_COOKIE) that will be included with the TX status event 364 * transmit the frame, optionally waiting for a response for the time
365 * pertaining to the TX request. 365 * specified using %NL80211_ATTR_DURATION. When called, this operation
366 * returns a cookie (%NL80211_ATTR_COOKIE) that will be included with the
367 * TX status event pertaining to the TX request.
368 * @NL80211_CMD_FRAME_WAIT_CANCEL: When an off-channel TX was requested, this
369 * command may be used with the corresponding cookie to cancel the wait
370 * time if it is known that it is no longer necessary.
366 * @NL80211_CMD_ACTION: Alias for @NL80211_CMD_FRAME for backward compatibility. 371 * @NL80211_CMD_ACTION: Alias for @NL80211_CMD_FRAME for backward compatibility.
367 * @NL80211_CMD_FRAME_TX_STATUS: Report TX status of a management frame 372 * @NL80211_CMD_FRAME_TX_STATUS: Report TX status of a management frame
368 * transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies 373 * transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies
@@ -493,6 +498,8 @@ enum nl80211_commands {
493 NL80211_CMD_SET_CHANNEL, 498 NL80211_CMD_SET_CHANNEL,
494 NL80211_CMD_SET_WDS_PEER, 499 NL80211_CMD_SET_WDS_PEER,
495 500
501 NL80211_CMD_FRAME_WAIT_CANCEL,
502
496 /* add new commands above here */ 503 /* add new commands above here */
497 504
498 /* used to define NL80211_CMD_MAX below */ 505 /* used to define NL80211_CMD_MAX below */
@@ -828,6 +835,12 @@ enum nl80211_commands {
828 * 835 *
829 * @NL80211_ATTR_MCAST_RATE: Multicast tx rate (in 100 kbps) for IBSS 836 * @NL80211_ATTR_MCAST_RATE: Multicast tx rate (in 100 kbps) for IBSS
830 * 837 *
838 * @NL80211_ATTR_OFFCHANNEL_TX_OK: For management frame TX, the frame may be
839 * transmitted on another channel when the channel given doesn't match
840 * the current channel. If the current channel doesn't match and this
841 * flag isn't set, the frame will be rejected. This is also used as an
842 * nl80211 capability flag.
843 *
831 * @NL80211_ATTR_MAX: highest attribute number currently defined 844 * @NL80211_ATTR_MAX: highest attribute number currently defined
832 * @__NL80211_ATTR_AFTER_LAST: internal use 845 * @__NL80211_ATTR_AFTER_LAST: internal use
833 */ 846 */
@@ -1002,6 +1015,8 @@ enum nl80211_attrs {
1002 1015
1003 NL80211_ATTR_MCAST_RATE, 1016 NL80211_ATTR_MCAST_RATE,
1004 1017
1018 NL80211_ATTR_OFFCHANNEL_TX_OK,
1019
1005 /* add attributes here, update the policy in nl80211.c */ 1020 /* add attributes here, update the policy in nl80211.c */
1006 1021
1007 __NL80211_ATTR_AFTER_LAST, 1022 __NL80211_ATTR_AFTER_LAST,
diff --git a/include/linux/ssb/ssb.h b/include/linux/ssb/ssb.h
index 623b704fdc42..9659eff52ca2 100644
--- a/include/linux/ssb/ssb.h
+++ b/include/linux/ssb/ssb.h
@@ -55,6 +55,10 @@ struct ssb_sprom {
55 u8 tri5gl; /* 5.2GHz TX isolation */ 55 u8 tri5gl; /* 5.2GHz TX isolation */
56 u8 tri5g; /* 5.3GHz TX isolation */ 56 u8 tri5g; /* 5.3GHz TX isolation */
57 u8 tri5gh; /* 5.8GHz TX isolation */ 57 u8 tri5gh; /* 5.8GHz TX isolation */
58 u8 txpid2g[4]; /* 2GHz TX power index */
59 u8 txpid5gl[4]; /* 4.9 - 5.1GHz TX power index */
60 u8 txpid5g[4]; /* 5.1 - 5.5GHz TX power index */
61 u8 txpid5gh[4]; /* 5.5 - ...GHz TX power index */
58 u8 rxpo2g; /* 2GHz RX power offset */ 62 u8 rxpo2g; /* 2GHz RX power offset */
59 u8 rxpo5g; /* 5GHz RX power offset */ 63 u8 rxpo5g; /* 5GHz RX power offset */
60 u8 rssisav2g; /* 2GHz RSSI params */ 64 u8 rssisav2g; /* 2GHz RSSI params */
diff --git a/include/linux/ssb/ssb_regs.h b/include/linux/ssb/ssb_regs.h
index 11daf9c140e7..489f7b6d61c5 100644
--- a/include/linux/ssb/ssb_regs.h
+++ b/include/linux/ssb/ssb_regs.h
@@ -299,6 +299,46 @@
299#define SSB_SPROM4_AGAIN2_SHIFT 0 299#define SSB_SPROM4_AGAIN2_SHIFT 0
300#define SSB_SPROM4_AGAIN3 0xFF00 /* Antenna 3 */ 300#define SSB_SPROM4_AGAIN3 0xFF00 /* Antenna 3 */
301#define SSB_SPROM4_AGAIN3_SHIFT 8 301#define SSB_SPROM4_AGAIN3_SHIFT 8
302#define SSB_SPROM4_TXPID2G01 0x0062 /* TX Power Index 2GHz */
303#define SSB_SPROM4_TXPID2G0 0x00FF
304#define SSB_SPROM4_TXPID2G0_SHIFT 0
305#define SSB_SPROM4_TXPID2G1 0xFF00
306#define SSB_SPROM4_TXPID2G1_SHIFT 8
307#define SSB_SPROM4_TXPID2G23 0x0064 /* TX Power Index 2GHz */
308#define SSB_SPROM4_TXPID2G2 0x00FF
309#define SSB_SPROM4_TXPID2G2_SHIFT 0
310#define SSB_SPROM4_TXPID2G3 0xFF00
311#define SSB_SPROM4_TXPID2G3_SHIFT 8
312#define SSB_SPROM4_TXPID5G01 0x0066 /* TX Power Index 5GHz middle subband */
313#define SSB_SPROM4_TXPID5G0 0x00FF
314#define SSB_SPROM4_TXPID5G0_SHIFT 0
315#define SSB_SPROM4_TXPID5G1 0xFF00
316#define SSB_SPROM4_TXPID5G1_SHIFT 8
317#define SSB_SPROM4_TXPID5G23 0x0068 /* TX Power Index 5GHz middle subband */
318#define SSB_SPROM4_TXPID5G2 0x00FF
319#define SSB_SPROM4_TXPID5G2_SHIFT 0
320#define SSB_SPROM4_TXPID5G3 0xFF00
321#define SSB_SPROM4_TXPID5G3_SHIFT 8
322#define SSB_SPROM4_TXPID5GL01 0x006A /* TX Power Index 5GHz low subband */
323#define SSB_SPROM4_TXPID5GL0 0x00FF
324#define SSB_SPROM4_TXPID5GL0_SHIFT 0
325#define SSB_SPROM4_TXPID5GL1 0xFF00
326#define SSB_SPROM4_TXPID5GL1_SHIFT 8
327#define SSB_SPROM4_TXPID5GL23 0x006C /* TX Power Index 5GHz low subband */
328#define SSB_SPROM4_TXPID5GL2 0x00FF
329#define SSB_SPROM4_TXPID5GL2_SHIFT 0
330#define SSB_SPROM4_TXPID5GL3 0xFF00
331#define SSB_SPROM4_TXPID5GL3_SHIFT 8
332#define SSB_SPROM4_TXPID5GH01 0x006E /* TX Power Index 5GHz high subband */
333#define SSB_SPROM4_TXPID5GH0 0x00FF
334#define SSB_SPROM4_TXPID5GH0_SHIFT 0
335#define SSB_SPROM4_TXPID5GH1 0xFF00
336#define SSB_SPROM4_TXPID5GH1_SHIFT 8
337#define SSB_SPROM4_TXPID5GH23 0x0070 /* TX Power Index 5GHz high subband */
338#define SSB_SPROM4_TXPID5GH2 0x00FF
339#define SSB_SPROM4_TXPID5GH2_SHIFT 0
340#define SSB_SPROM4_TXPID5GH3 0xFF00
341#define SSB_SPROM4_TXPID5GH3_SHIFT 8
302#define SSB_SPROM4_MAXP_BG 0x0080 /* Max Power BG in path 1 */ 342#define SSB_SPROM4_MAXP_BG 0x0080 /* Max Power BG in path 1 */
303#define SSB_SPROM4_MAXP_BG_MASK 0x00FF /* Mask for Max Power BG */ 343#define SSB_SPROM4_MAXP_BG_MASK 0x00FF /* Mask for Max Power BG */
304#define SSB_SPROM4_ITSSI_BG 0xFF00 /* Mask for path 1 itssi_bg */ 344#define SSB_SPROM4_ITSSI_BG 0xFF00 /* Mask for path 1 itssi_bg */
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
875struct hci_command_hdr { 875struct 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
880struct hci_event_hdr { 880struct 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
46struct inquiry_entry { 46struct 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
52struct inquiry_cache { 52struct 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
58struct hci_conn_hash { 58struct 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;
215extern rwlock_t hci_cb_list_lock; 215extern 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
426void l2cap_load(void); 426void 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 @@
105struct rfcomm_hdr { 105struct 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
111struct rfcomm_cmd { 111struct rfcomm_cmd {
@@ -228,7 +228,7 @@ struct rfcomm_dlc {
228/* ---- RFCOMM SEND RPN ---- */ 228/* ---- RFCOMM SEND RPN ---- */
229int rfcomm_send_rpn(struct rfcomm_session *s, int cr, u8 dlci, 229int 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 {
55struct sco_conn { 55struct 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 */
1156struct cfg80211_ops { 1165struct 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 */
2079static 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