aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/bluetooth
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2012-05-08 13:35:37 -0400
committerGrant Likely <grant.likely@secretlab.ca>2012-05-08 13:35:37 -0400
commit7b96c686223a5c902d6a59c7d178f3904f0ab757 (patch)
treefe328ed56ad3719de3cfebad72ef74e34f1ed92b /drivers/bluetooth
parentf141ed65f256ec036c7fba604da6b7c448096ef9 (diff)
parentd48b97b403d23f6df0b990cee652bdf9a52337a3 (diff)
Merge tag 'v3.4-rc6' into gpio/next
Linux 3.4-rc6
Diffstat (limited to 'drivers/bluetooth')
-rw-r--r--drivers/bluetooth/ath3k.c8
-rw-r--r--drivers/bluetooth/btmrvl_debugfs.c26
-rw-r--r--drivers/bluetooth/btusb.c11
-rw-r--r--drivers/bluetooth/hci_ldisc.c2
4 files changed, 29 insertions, 18 deletions
diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c
index 48442476ec00..57fd867553d7 100644
--- a/drivers/bluetooth/ath3k.c
+++ b/drivers/bluetooth/ath3k.c
@@ -72,7 +72,11 @@ static struct usb_device_id ath3k_table[] = {
72 72
73 /* Atheros AR3012 with sflash firmware*/ 73 /* Atheros AR3012 with sflash firmware*/
74 { USB_DEVICE(0x0CF3, 0x3004) }, 74 { USB_DEVICE(0x0CF3, 0x3004) },
75 { USB_DEVICE(0x0CF3, 0x311D) },
75 { USB_DEVICE(0x13d3, 0x3375) }, 76 { USB_DEVICE(0x13d3, 0x3375) },
77 { USB_DEVICE(0x04CA, 0x3005) },
78 { USB_DEVICE(0x13d3, 0x3362) },
79 { USB_DEVICE(0x0CF3, 0xE004) },
76 80
77 /* Atheros AR5BBU12 with sflash firmware */ 81 /* Atheros AR5BBU12 with sflash firmware */
78 { USB_DEVICE(0x0489, 0xE02C) }, 82 { USB_DEVICE(0x0489, 0xE02C) },
@@ -89,7 +93,11 @@ static struct usb_device_id ath3k_blist_tbl[] = {
89 93
90 /* Atheros AR3012 with sflash firmware*/ 94 /* Atheros AR3012 with sflash firmware*/
91 { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 }, 95 { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 },
96 { USB_DEVICE(0x0cf3, 0x311D), .driver_info = BTUSB_ATH3012 },
92 { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 }, 97 { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 },
98 { USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },
99 { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 },
100 { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 },
93 101
94 { } /* Terminating entry */ 102 { } /* Terminating entry */
95}; 103};
diff --git a/drivers/bluetooth/btmrvl_debugfs.c b/drivers/bluetooth/btmrvl_debugfs.c
index 6c20bbb54b71..428dbb7574bd 100644
--- a/drivers/bluetooth/btmrvl_debugfs.c
+++ b/drivers/bluetooth/btmrvl_debugfs.c
@@ -45,12 +45,6 @@ struct btmrvl_debugfs_data {
45 struct dentry *txdnldready; 45 struct dentry *txdnldready;
46}; 46};
47 47
48static int btmrvl_open_generic(struct inode *inode, struct file *file)
49{
50 file->private_data = inode->i_private;
51 return 0;
52}
53
54static ssize_t btmrvl_hscfgcmd_write(struct file *file, 48static ssize_t btmrvl_hscfgcmd_write(struct file *file,
55 const char __user *ubuf, size_t count, loff_t *ppos) 49 const char __user *ubuf, size_t count, loff_t *ppos)
56{ 50{
@@ -93,7 +87,7 @@ static ssize_t btmrvl_hscfgcmd_read(struct file *file, char __user *userbuf,
93static const struct file_operations btmrvl_hscfgcmd_fops = { 87static const struct file_operations btmrvl_hscfgcmd_fops = {
94 .read = btmrvl_hscfgcmd_read, 88 .read = btmrvl_hscfgcmd_read,
95 .write = btmrvl_hscfgcmd_write, 89 .write = btmrvl_hscfgcmd_write,
96 .open = btmrvl_open_generic, 90 .open = simple_open,
97 .llseek = default_llseek, 91 .llseek = default_llseek,
98}; 92};
99 93
@@ -134,7 +128,7 @@ static ssize_t btmrvl_psmode_read(struct file *file, char __user *userbuf,
134static const struct file_operations btmrvl_psmode_fops = { 128static const struct file_operations btmrvl_psmode_fops = {
135 .read = btmrvl_psmode_read, 129 .read = btmrvl_psmode_read,
136 .write = btmrvl_psmode_write, 130 .write = btmrvl_psmode_write,
137 .open = btmrvl_open_generic, 131 .open = simple_open,
138 .llseek = default_llseek, 132 .llseek = default_llseek,
139}; 133};
140 134
@@ -180,7 +174,7 @@ static ssize_t btmrvl_pscmd_read(struct file *file, char __user *userbuf,
180static const struct file_operations btmrvl_pscmd_fops = { 174static const struct file_operations btmrvl_pscmd_fops = {
181 .read = btmrvl_pscmd_read, 175 .read = btmrvl_pscmd_read,
182 .write = btmrvl_pscmd_write, 176 .write = btmrvl_pscmd_write,
183 .open = btmrvl_open_generic, 177 .open = simple_open,
184 .llseek = default_llseek, 178 .llseek = default_llseek,
185}; 179};
186 180
@@ -221,7 +215,7 @@ static ssize_t btmrvl_gpiogap_read(struct file *file, char __user *userbuf,
221static const struct file_operations btmrvl_gpiogap_fops = { 215static const struct file_operations btmrvl_gpiogap_fops = {
222 .read = btmrvl_gpiogap_read, 216 .read = btmrvl_gpiogap_read,
223 .write = btmrvl_gpiogap_write, 217 .write = btmrvl_gpiogap_write,
224 .open = btmrvl_open_generic, 218 .open = simple_open,
225 .llseek = default_llseek, 219 .llseek = default_llseek,
226}; 220};
227 221
@@ -265,7 +259,7 @@ static ssize_t btmrvl_hscmd_read(struct file *file, char __user *userbuf,
265static const struct file_operations btmrvl_hscmd_fops = { 259static const struct file_operations btmrvl_hscmd_fops = {
266 .read = btmrvl_hscmd_read, 260 .read = btmrvl_hscmd_read,
267 .write = btmrvl_hscmd_write, 261 .write = btmrvl_hscmd_write,
268 .open = btmrvl_open_generic, 262 .open = simple_open,
269 .llseek = default_llseek, 263 .llseek = default_llseek,
270}; 264};
271 265
@@ -305,7 +299,7 @@ static ssize_t btmrvl_hsmode_read(struct file *file, char __user * userbuf,
305static const struct file_operations btmrvl_hsmode_fops = { 299static const struct file_operations btmrvl_hsmode_fops = {
306 .read = btmrvl_hsmode_read, 300 .read = btmrvl_hsmode_read,
307 .write = btmrvl_hsmode_write, 301 .write = btmrvl_hsmode_write,
308 .open = btmrvl_open_generic, 302 .open = simple_open,
309 .llseek = default_llseek, 303 .llseek = default_llseek,
310}; 304};
311 305
@@ -323,7 +317,7 @@ static ssize_t btmrvl_curpsmode_read(struct file *file, char __user *userbuf,
323 317
324static const struct file_operations btmrvl_curpsmode_fops = { 318static const struct file_operations btmrvl_curpsmode_fops = {
325 .read = btmrvl_curpsmode_read, 319 .read = btmrvl_curpsmode_read,
326 .open = btmrvl_open_generic, 320 .open = simple_open,
327 .llseek = default_llseek, 321 .llseek = default_llseek,
328}; 322};
329 323
@@ -341,7 +335,7 @@ static ssize_t btmrvl_psstate_read(struct file *file, char __user * userbuf,
341 335
342static const struct file_operations btmrvl_psstate_fops = { 336static const struct file_operations btmrvl_psstate_fops = {
343 .read = btmrvl_psstate_read, 337 .read = btmrvl_psstate_read,
344 .open = btmrvl_open_generic, 338 .open = simple_open,
345 .llseek = default_llseek, 339 .llseek = default_llseek,
346}; 340};
347 341
@@ -359,7 +353,7 @@ static ssize_t btmrvl_hsstate_read(struct file *file, char __user *userbuf,
359 353
360static const struct file_operations btmrvl_hsstate_fops = { 354static const struct file_operations btmrvl_hsstate_fops = {
361 .read = btmrvl_hsstate_read, 355 .read = btmrvl_hsstate_read,
362 .open = btmrvl_open_generic, 356 .open = simple_open,
363 .llseek = default_llseek, 357 .llseek = default_llseek,
364}; 358};
365 359
@@ -378,7 +372,7 @@ static ssize_t btmrvl_txdnldready_read(struct file *file, char __user *userbuf,
378 372
379static const struct file_operations btmrvl_txdnldready_fops = { 373static const struct file_operations btmrvl_txdnldready_fops = {
380 .read = btmrvl_txdnldready_read, 374 .read = btmrvl_txdnldready_read,
381 .open = btmrvl_open_generic, 375 .open = simple_open,
382 .llseek = default_llseek, 376 .llseek = default_llseek,
383}; 377};
384 378
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 480cad920048..9217121362e1 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -61,7 +61,7 @@ static struct usb_device_id btusb_table[] = {
61 { USB_DEVICE_INFO(0xe0, 0x01, 0x01) }, 61 { USB_DEVICE_INFO(0xe0, 0x01, 0x01) },
62 62
63 /* Broadcom SoftSailing reporting vendor specific */ 63 /* Broadcom SoftSailing reporting vendor specific */
64 { USB_DEVICE(0x05ac, 0x21e1) }, 64 { USB_DEVICE(0x0a5c, 0x21e1) },
65 65
66 /* Apple MacBookPro 7,1 */ 66 /* Apple MacBookPro 7,1 */
67 { USB_DEVICE(0x05ac, 0x8213) }, 67 { USB_DEVICE(0x05ac, 0x8213) },
@@ -101,11 +101,16 @@ static struct usb_device_id btusb_table[] = {
101 { USB_DEVICE(0x0c10, 0x0000) }, 101 { USB_DEVICE(0x0c10, 0x0000) },
102 102
103 /* Broadcom BCM20702A0 */ 103 /* Broadcom BCM20702A0 */
104 { USB_DEVICE(0x0489, 0xe042) },
104 { USB_DEVICE(0x0a5c, 0x21e3) }, 105 { USB_DEVICE(0x0a5c, 0x21e3) },
105 { USB_DEVICE(0x0a5c, 0x21e6) }, 106 { USB_DEVICE(0x0a5c, 0x21e6) },
107 { USB_DEVICE(0x0a5c, 0x21e8) },
106 { USB_DEVICE(0x0a5c, 0x21f3) }, 108 { USB_DEVICE(0x0a5c, 0x21f3) },
107 { USB_DEVICE(0x413c, 0x8197) }, 109 { USB_DEVICE(0x413c, 0x8197) },
108 110
111 /* Foxconn - Hon Hai */
112 { USB_DEVICE(0x0489, 0xe033) },
113
109 { } /* Terminating entry */ 114 { } /* Terminating entry */
110}; 115};
111 116
@@ -129,7 +134,11 @@ static struct usb_device_id blacklist_table[] = {
129 134
130 /* Atheros 3012 with sflash firmware */ 135 /* Atheros 3012 with sflash firmware */
131 { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 }, 136 { USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 },
137 { USB_DEVICE(0x0cf3, 0x311d), .driver_info = BTUSB_ATH3012 },
132 { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 }, 138 { USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 },
139 { USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },
140 { USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 },
141 { USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 },
133 142
134 /* Atheros AR5BBU12 with sflash firmware */ 143 /* Atheros AR5BBU12 with sflash firmware */
135 { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE }, 144 { USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE },
diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c
index fd5adb408f44..98a8c05d4f23 100644
--- a/drivers/bluetooth/hci_ldisc.c
+++ b/drivers/bluetooth/hci_ldisc.c
@@ -299,11 +299,11 @@ static void hci_uart_tty_close(struct tty_struct *tty)
299 hci_uart_close(hdev); 299 hci_uart_close(hdev);
300 300
301 if (test_and_clear_bit(HCI_UART_PROTO_SET, &hu->flags)) { 301 if (test_and_clear_bit(HCI_UART_PROTO_SET, &hu->flags)) {
302 hu->proto->close(hu);
303 if (hdev) { 302 if (hdev) {
304 hci_unregister_dev(hdev); 303 hci_unregister_dev(hdev);
305 hci_free_dev(hdev); 304 hci_free_dev(hdev);
306 } 305 }
306 hu->proto->close(hu);
307 } 307 }
308 308
309 kfree(hu); 309 kfree(hu);