diff options
| author | John W. Linville <linville@tuxdriver.com> | 2011-11-09 14:54:33 -0500 |
|---|---|---|
| committer | John W. Linville <linville@tuxdriver.com> | 2011-11-09 14:54:33 -0500 |
| commit | 312fef7d18adda2be822d31916547f84ed6af28b (patch) | |
| tree | 095d936b751b0a92946fcf710fb74dea7f8f33f7 /drivers/bluetooth | |
| parent | 5e819059a20b0fc5a71875f28b4cae359e38d85a (diff) | |
| parent | 2aeabcbedd51aef94b61d05b57246d1db4984453 (diff) | |
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/padovan/bluetooth-next
Conflicts:
net/bluetooth/l2cap_sock.c
net/bluetooth/mgmt.c
Diffstat (limited to 'drivers/bluetooth')
| -rw-r--r-- | drivers/bluetooth/ath3k.c | 15 | ||||
| -rw-r--r-- | drivers/bluetooth/bfusb.c | 4 | ||||
| -rw-r--r-- | drivers/bluetooth/bluecard_cs.c | 4 | ||||
| -rw-r--r-- | drivers/bluetooth/bt3c_cs.c | 4 | ||||
| -rw-r--r-- | drivers/bluetooth/btuart_cs.c | 4 | ||||
| -rw-r--r-- | drivers/bluetooth/btusb.c | 16 | ||||
| -rw-r--r-- | drivers/bluetooth/dtl1_cs.c | 4 | ||||
| -rw-r--r-- | drivers/bluetooth/hci_vhci.c | 5 |
8 files changed, 29 insertions, 27 deletions
diff --git a/drivers/bluetooth/ath3k.c b/drivers/bluetooth/ath3k.c index 106beb194f3c..1622772f802d 100644 --- a/drivers/bluetooth/ath3k.c +++ b/drivers/bluetooth/ath3k.c | |||
| @@ -30,6 +30,7 @@ | |||
| 30 | #include <net/bluetooth/bluetooth.h> | 30 | #include <net/bluetooth/bluetooth.h> |
| 31 | 31 | ||
| 32 | #define VERSION "1.0" | 32 | #define VERSION "1.0" |
| 33 | #define ATH3K_FIRMWARE "ath3k-1.fw" | ||
| 33 | 34 | ||
| 34 | #define ATH3K_DNLOAD 0x01 | 35 | #define ATH3K_DNLOAD 0x01 |
| 35 | #define ATH3K_GETSTATE 0x05 | 36 | #define ATH3K_GETSTATE 0x05 |
| @@ -400,9 +401,15 @@ static int ath3k_probe(struct usb_interface *intf, | |||
| 400 | return 0; | 401 | return 0; |
| 401 | } | 402 | } |
| 402 | 403 | ||
| 403 | if (request_firmware(&firmware, "ath3k-1.fw", &udev->dev) < 0) { | 404 | ret = request_firmware(&firmware, ATH3K_FIRMWARE, &udev->dev); |
| 404 | BT_ERR("Error loading firmware"); | 405 | if (ret < 0) { |
| 405 | return -EIO; | 406 | if (ret == -ENOENT) |
| 407 | BT_ERR("Firmware file \"%s\" not found", | ||
| 408 | ATH3K_FIRMWARE); | ||
| 409 | else | ||
| 410 | BT_ERR("Firmware file \"%s\" request failed (err=%d)", | ||
| 411 | ATH3K_FIRMWARE, ret); | ||
| 412 | return ret; | ||
| 406 | } | 413 | } |
| 407 | 414 | ||
| 408 | ret = ath3k_load_firmware(udev, firmware); | 415 | ret = ath3k_load_firmware(udev, firmware); |
| @@ -441,4 +448,4 @@ MODULE_AUTHOR("Atheros Communications"); | |||
| 441 | MODULE_DESCRIPTION("Atheros AR30xx firmware driver"); | 448 | MODULE_DESCRIPTION("Atheros AR30xx firmware driver"); |
| 442 | MODULE_VERSION(VERSION); | 449 | MODULE_VERSION(VERSION); |
| 443 | MODULE_LICENSE("GPL"); | 450 | MODULE_LICENSE("GPL"); |
| 444 | MODULE_FIRMWARE("ath3k-1.fw"); | 451 | MODULE_FIRMWARE(ATH3K_FIRMWARE); |
diff --git a/drivers/bluetooth/bfusb.c b/drivers/bluetooth/bfusb.c index 61b591470a90..a936763b8c3d 100644 --- a/drivers/bluetooth/bfusb.c +++ b/drivers/bluetooth/bfusb.c | |||
| @@ -751,9 +751,7 @@ static void bfusb_disconnect(struct usb_interface *intf) | |||
| 751 | 751 | ||
| 752 | bfusb_close(hdev); | 752 | bfusb_close(hdev); |
| 753 | 753 | ||
| 754 | if (hci_unregister_dev(hdev) < 0) | 754 | hci_unregister_dev(hdev); |
| 755 | BT_ERR("Can't unregister HCI device %s", hdev->name); | ||
| 756 | |||
| 757 | hci_free_dev(hdev); | 755 | hci_free_dev(hdev); |
| 758 | } | 756 | } |
| 759 | 757 | ||
diff --git a/drivers/bluetooth/bluecard_cs.c b/drivers/bluetooth/bluecard_cs.c index aed1904ea67b..c6a0c6103743 100644 --- a/drivers/bluetooth/bluecard_cs.c +++ b/drivers/bluetooth/bluecard_cs.c | |||
| @@ -844,9 +844,7 @@ static int bluecard_close(bluecard_info_t *info) | |||
| 844 | /* Turn FPGA off */ | 844 | /* Turn FPGA off */ |
| 845 | outb(0x80, iobase + 0x30); | 845 | outb(0x80, iobase + 0x30); |
| 846 | 846 | ||
| 847 | if (hci_unregister_dev(hdev) < 0) | 847 | hci_unregister_dev(hdev); |
| 848 | BT_ERR("Can't unregister HCI device %s", hdev->name); | ||
| 849 | |||
| 850 | hci_free_dev(hdev); | 848 | hci_free_dev(hdev); |
| 851 | 849 | ||
| 852 | return 0; | 850 | return 0; |
diff --git a/drivers/bluetooth/bt3c_cs.c b/drivers/bluetooth/bt3c_cs.c index 4fc01949d399..0c97e5d514b6 100644 --- a/drivers/bluetooth/bt3c_cs.c +++ b/drivers/bluetooth/bt3c_cs.c | |||
| @@ -636,9 +636,7 @@ static int bt3c_close(bt3c_info_t *info) | |||
| 636 | 636 | ||
| 637 | bt3c_hci_close(hdev); | 637 | bt3c_hci_close(hdev); |
| 638 | 638 | ||
| 639 | if (hci_unregister_dev(hdev) < 0) | 639 | hci_unregister_dev(hdev); |
| 640 | BT_ERR("Can't unregister HCI device %s", hdev->name); | ||
| 641 | |||
| 642 | hci_free_dev(hdev); | 640 | hci_free_dev(hdev); |
| 643 | 641 | ||
| 644 | return 0; | 642 | return 0; |
diff --git a/drivers/bluetooth/btuart_cs.c b/drivers/bluetooth/btuart_cs.c index 526b61807d94..200b3a2877d6 100644 --- a/drivers/bluetooth/btuart_cs.c +++ b/drivers/bluetooth/btuart_cs.c | |||
| @@ -565,9 +565,7 @@ static int btuart_close(btuart_info_t *info) | |||
| 565 | 565 | ||
| 566 | spin_unlock_irqrestore(&(info->lock), flags); | 566 | spin_unlock_irqrestore(&(info->lock), flags); |
| 567 | 567 | ||
| 568 | if (hci_unregister_dev(hdev) < 0) | 568 | hci_unregister_dev(hdev); |
| 569 | BT_ERR("Can't unregister HCI device %s", hdev->name); | ||
| 570 | |||
| 571 | hci_free_dev(hdev); | 569 | hci_free_dev(hdev); |
| 572 | 570 | ||
| 573 | return 0; | 571 | return 0; |
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index fe4ebc375b3d..2bd87d45f1c2 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c | |||
| @@ -315,7 +315,8 @@ static int btusb_submit_intr_urb(struct hci_dev *hdev, gfp_t mem_flags) | |||
| 315 | 315 | ||
| 316 | err = usb_submit_urb(urb, mem_flags); | 316 | err = usb_submit_urb(urb, mem_flags); |
| 317 | if (err < 0) { | 317 | if (err < 0) { |
| 318 | BT_ERR("%s urb %p submission failed (%d)", | 318 | if (err != -EPERM && err != -ENODEV) |
| 319 | BT_ERR("%s urb %p submission failed (%d)", | ||
| 319 | hdev->name, urb, -err); | 320 | hdev->name, urb, -err); |
| 320 | usb_unanchor_urb(urb); | 321 | usb_unanchor_urb(urb); |
| 321 | } | 322 | } |
| @@ -400,7 +401,8 @@ static int btusb_submit_bulk_urb(struct hci_dev *hdev, gfp_t mem_flags) | |||
| 400 | 401 | ||
| 401 | err = usb_submit_urb(urb, mem_flags); | 402 | err = usb_submit_urb(urb, mem_flags); |
| 402 | if (err < 0) { | 403 | if (err < 0) { |
| 403 | BT_ERR("%s urb %p submission failed (%d)", | 404 | if (err != -EPERM && err != -ENODEV) |
| 405 | BT_ERR("%s urb %p submission failed (%d)", | ||
| 404 | hdev->name, urb, -err); | 406 | hdev->name, urb, -err); |
| 405 | usb_unanchor_urb(urb); | 407 | usb_unanchor_urb(urb); |
| 406 | } | 408 | } |
| @@ -523,7 +525,8 @@ static int btusb_submit_isoc_urb(struct hci_dev *hdev, gfp_t mem_flags) | |||
| 523 | 525 | ||
| 524 | err = usb_submit_urb(urb, mem_flags); | 526 | err = usb_submit_urb(urb, mem_flags); |
| 525 | if (err < 0) { | 527 | if (err < 0) { |
| 526 | BT_ERR("%s urb %p submission failed (%d)", | 528 | if (err != -EPERM && err != -ENODEV) |
| 529 | BT_ERR("%s urb %p submission failed (%d)", | ||
| 527 | hdev->name, urb, -err); | 530 | hdev->name, urb, -err); |
| 528 | usb_unanchor_urb(urb); | 531 | usb_unanchor_urb(urb); |
| 529 | } | 532 | } |
| @@ -727,6 +730,9 @@ static int btusb_send_frame(struct sk_buff *skb) | |||
| 727 | usb_fill_bulk_urb(urb, data->udev, pipe, | 730 | usb_fill_bulk_urb(urb, data->udev, pipe, |
| 728 | skb->data, skb->len, btusb_tx_complete, skb); | 731 | skb->data, skb->len, btusb_tx_complete, skb); |
| 729 | 732 | ||
| 733 | if (skb->priority >= HCI_PRIO_MAX - 1) | ||
| 734 | urb->transfer_flags = URB_ISO_ASAP; | ||
| 735 | |||
| 730 | hdev->stat.acl_tx++; | 736 | hdev->stat.acl_tx++; |
| 731 | break; | 737 | break; |
| 732 | 738 | ||
| @@ -770,7 +776,9 @@ skip_waking: | |||
| 770 | 776 | ||
| 771 | err = usb_submit_urb(urb, GFP_ATOMIC); | 777 | err = usb_submit_urb(urb, GFP_ATOMIC); |
| 772 | if (err < 0) { | 778 | if (err < 0) { |
| 773 | BT_ERR("%s urb %p submission failed", hdev->name, urb); | 779 | if (err != -EPERM && err != -ENODEV) |
| 780 | BT_ERR("%s urb %p submission failed (%d)", | ||
| 781 | hdev->name, urb, -err); | ||
| 774 | kfree(urb->setup_packet); | 782 | kfree(urb->setup_packet); |
| 775 | usb_unanchor_urb(urb); | 783 | usb_unanchor_urb(urb); |
| 776 | } else { | 784 | } else { |
diff --git a/drivers/bluetooth/dtl1_cs.c b/drivers/bluetooth/dtl1_cs.c index 5e4c2de9fc3f..969bb22e493f 100644 --- a/drivers/bluetooth/dtl1_cs.c +++ b/drivers/bluetooth/dtl1_cs.c | |||
| @@ -551,9 +551,7 @@ static int dtl1_close(dtl1_info_t *info) | |||
| 551 | 551 | ||
| 552 | spin_unlock_irqrestore(&(info->lock), flags); | 552 | spin_unlock_irqrestore(&(info->lock), flags); |
| 553 | 553 | ||
| 554 | if (hci_unregister_dev(hdev) < 0) | 554 | hci_unregister_dev(hdev); |
| 555 | BT_ERR("Can't unregister HCI device %s", hdev->name); | ||
| 556 | |||
| 557 | hci_free_dev(hdev); | 555 | hci_free_dev(hdev); |
| 558 | 556 | ||
| 559 | return 0; | 557 | return 0; |
diff --git a/drivers/bluetooth/hci_vhci.c b/drivers/bluetooth/hci_vhci.c index 67c180c2c1e0..2e302a11ab55 100644 --- a/drivers/bluetooth/hci_vhci.c +++ b/drivers/bluetooth/hci_vhci.c | |||
| @@ -264,10 +264,7 @@ static int vhci_release(struct inode *inode, struct file *file) | |||
| 264 | struct vhci_data *data = file->private_data; | 264 | struct vhci_data *data = file->private_data; |
| 265 | struct hci_dev *hdev = data->hdev; | 265 | struct hci_dev *hdev = data->hdev; |
| 266 | 266 | ||
| 267 | if (hci_unregister_dev(hdev) < 0) { | 267 | hci_unregister_dev(hdev); |
| 268 | BT_ERR("Can't unregister HCI device %s", hdev->name); | ||
| 269 | } | ||
| 270 | |||
| 271 | hci_free_dev(hdev); | 268 | hci_free_dev(hdev); |
| 272 | 269 | ||
| 273 | file->private_data = NULL; | 270 | file->private_data = NULL; |
