diff options
Diffstat (limited to 'drivers/bluetooth')
-rw-r--r-- | drivers/bluetooth/bcm203x.c | 8 | ||||
-rw-r--r-- | drivers/bluetooth/bfusb.c | 12 | ||||
-rw-r--r-- | drivers/bluetooth/bluecard_cs.c | 7 | ||||
-rw-r--r-- | drivers/bluetooth/bpa10x.c | 8 | ||||
-rw-r--r-- | drivers/bluetooth/bt3c_cs.c | 5 | ||||
-rw-r--r-- | drivers/bluetooth/btmrvl_sdio.c | 18 | ||||
-rw-r--r-- | drivers/bluetooth/btsdio.c | 8 | ||||
-rw-r--r-- | drivers/bluetooth/btuart_cs.c | 7 | ||||
-rw-r--r-- | drivers/bluetooth/btusb.c | 16 | ||||
-rw-r--r-- | drivers/bluetooth/btwilink.c | 24 | ||||
-rw-r--r-- | drivers/bluetooth/dtl1_cs.c | 3 | ||||
-rw-r--r-- | drivers/bluetooth/hci_ldisc.c | 2 | ||||
-rw-r--r-- | drivers/bluetooth/hci_ll.c | 2 | ||||
-rw-r--r-- | drivers/bluetooth/hci_vhci.c | 2 |
14 files changed, 31 insertions, 91 deletions
diff --git a/drivers/bluetooth/bcm203x.c b/drivers/bluetooth/bcm203x.c index 37ae175162f3..364f82b34d03 100644 --- a/drivers/bluetooth/bcm203x.c +++ b/drivers/bluetooth/bcm203x.c | |||
@@ -177,7 +177,7 @@ static int bcm203x_probe(struct usb_interface *intf, const struct usb_device_id | |||
177 | if (intf->cur_altsetting->desc.bInterfaceNumber != 0) | 177 | if (intf->cur_altsetting->desc.bInterfaceNumber != 0) |
178 | return -ENODEV; | 178 | return -ENODEV; |
179 | 179 | ||
180 | data = kzalloc(sizeof(*data), GFP_KERNEL); | 180 | data = devm_kzalloc(&intf->dev, sizeof(*data), GFP_KERNEL); |
181 | if (!data) { | 181 | if (!data) { |
182 | BT_ERR("Can't allocate memory for data structure"); | 182 | BT_ERR("Can't allocate memory for data structure"); |
183 | return -ENOMEM; | 183 | return -ENOMEM; |
@@ -189,14 +189,12 @@ static int bcm203x_probe(struct usb_interface *intf, const struct usb_device_id | |||
189 | data->urb = usb_alloc_urb(0, GFP_KERNEL); | 189 | data->urb = usb_alloc_urb(0, GFP_KERNEL); |
190 | if (!data->urb) { | 190 | if (!data->urb) { |
191 | BT_ERR("Can't allocate URB"); | 191 | BT_ERR("Can't allocate URB"); |
192 | kfree(data); | ||
193 | return -ENOMEM; | 192 | return -ENOMEM; |
194 | } | 193 | } |
195 | 194 | ||
196 | if (request_firmware(&firmware, "BCM2033-MD.hex", &udev->dev) < 0) { | 195 | if (request_firmware(&firmware, "BCM2033-MD.hex", &udev->dev) < 0) { |
197 | BT_ERR("Mini driver request failed"); | 196 | BT_ERR("Mini driver request failed"); |
198 | usb_free_urb(data->urb); | 197 | usb_free_urb(data->urb); |
199 | kfree(data); | ||
200 | return -EIO; | 198 | return -EIO; |
201 | } | 199 | } |
202 | 200 | ||
@@ -209,7 +207,6 @@ static int bcm203x_probe(struct usb_interface *intf, const struct usb_device_id | |||
209 | BT_ERR("Can't allocate memory for mini driver"); | 207 | BT_ERR("Can't allocate memory for mini driver"); |
210 | release_firmware(firmware); | 208 | release_firmware(firmware); |
211 | usb_free_urb(data->urb); | 209 | usb_free_urb(data->urb); |
212 | kfree(data); | ||
213 | return -ENOMEM; | 210 | return -ENOMEM; |
214 | } | 211 | } |
215 | 212 | ||
@@ -224,7 +221,6 @@ static int bcm203x_probe(struct usb_interface *intf, const struct usb_device_id | |||
224 | BT_ERR("Firmware request failed"); | 221 | BT_ERR("Firmware request failed"); |
225 | usb_free_urb(data->urb); | 222 | usb_free_urb(data->urb); |
226 | kfree(data->buffer); | 223 | kfree(data->buffer); |
227 | kfree(data); | ||
228 | return -EIO; | 224 | return -EIO; |
229 | } | 225 | } |
230 | 226 | ||
@@ -236,7 +232,6 @@ static int bcm203x_probe(struct usb_interface *intf, const struct usb_device_id | |||
236 | release_firmware(firmware); | 232 | release_firmware(firmware); |
237 | usb_free_urb(data->urb); | 233 | usb_free_urb(data->urb); |
238 | kfree(data->buffer); | 234 | kfree(data->buffer); |
239 | kfree(data); | ||
240 | return -ENOMEM; | 235 | return -ENOMEM; |
241 | } | 236 | } |
242 | 237 | ||
@@ -271,7 +266,6 @@ static void bcm203x_disconnect(struct usb_interface *intf) | |||
271 | usb_free_urb(data->urb); | 266 | usb_free_urb(data->urb); |
272 | kfree(data->fw_data); | 267 | kfree(data->fw_data); |
273 | kfree(data->buffer); | 268 | kfree(data->buffer); |
274 | kfree(data); | ||
275 | } | 269 | } |
276 | 270 | ||
277 | static struct usb_driver bcm203x_driver = { | 271 | static struct usb_driver bcm203x_driver = { |
diff --git a/drivers/bluetooth/bfusb.c b/drivers/bluetooth/bfusb.c index 32e825144fe9..995aee9cba22 100644 --- a/drivers/bluetooth/bfusb.c +++ b/drivers/bluetooth/bfusb.c | |||
@@ -653,7 +653,7 @@ static int bfusb_probe(struct usb_interface *intf, const struct usb_device_id *i | |||
653 | } | 653 | } |
654 | 654 | ||
655 | /* Initialize control structure and load firmware */ | 655 | /* Initialize control structure and load firmware */ |
656 | data = kzalloc(sizeof(struct bfusb_data), GFP_KERNEL); | 656 | data = devm_kzalloc(&intf->dev, sizeof(struct bfusb_data), GFP_KERNEL); |
657 | if (!data) { | 657 | if (!data) { |
658 | BT_ERR("Can't allocate memory for control structure"); | 658 | BT_ERR("Can't allocate memory for control structure"); |
659 | goto done; | 659 | goto done; |
@@ -674,7 +674,7 @@ static int bfusb_probe(struct usb_interface *intf, const struct usb_device_id *i | |||
674 | 674 | ||
675 | if (request_firmware(&firmware, "bfubase.frm", &udev->dev) < 0) { | 675 | if (request_firmware(&firmware, "bfubase.frm", &udev->dev) < 0) { |
676 | BT_ERR("Firmware request failed"); | 676 | BT_ERR("Firmware request failed"); |
677 | goto error; | 677 | goto done; |
678 | } | 678 | } |
679 | 679 | ||
680 | BT_DBG("firmware data %p size %zu", firmware->data, firmware->size); | 680 | BT_DBG("firmware data %p size %zu", firmware->data, firmware->size); |
@@ -690,7 +690,7 @@ static int bfusb_probe(struct usb_interface *intf, const struct usb_device_id *i | |||
690 | hdev = hci_alloc_dev(); | 690 | hdev = hci_alloc_dev(); |
691 | if (!hdev) { | 691 | if (!hdev) { |
692 | BT_ERR("Can't allocate HCI device"); | 692 | BT_ERR("Can't allocate HCI device"); |
693 | goto error; | 693 | goto done; |
694 | } | 694 | } |
695 | 695 | ||
696 | data->hdev = hdev; | 696 | data->hdev = hdev; |
@@ -708,7 +708,7 @@ static int bfusb_probe(struct usb_interface *intf, const struct usb_device_id *i | |||
708 | if (hci_register_dev(hdev) < 0) { | 708 | if (hci_register_dev(hdev) < 0) { |
709 | BT_ERR("Can't register HCI device"); | 709 | BT_ERR("Can't register HCI device"); |
710 | hci_free_dev(hdev); | 710 | hci_free_dev(hdev); |
711 | goto error; | 711 | goto done; |
712 | } | 712 | } |
713 | 713 | ||
714 | usb_set_intfdata(intf, data); | 714 | usb_set_intfdata(intf, data); |
@@ -718,9 +718,6 @@ static int bfusb_probe(struct usb_interface *intf, const struct usb_device_id *i | |||
718 | release: | 718 | release: |
719 | release_firmware(firmware); | 719 | release_firmware(firmware); |
720 | 720 | ||
721 | error: | ||
722 | kfree(data); | ||
723 | |||
724 | done: | 721 | done: |
725 | return -EIO; | 722 | return -EIO; |
726 | } | 723 | } |
@@ -741,7 +738,6 @@ static void bfusb_disconnect(struct usb_interface *intf) | |||
741 | 738 | ||
742 | hci_unregister_dev(hdev); | 739 | hci_unregister_dev(hdev); |
743 | hci_free_dev(hdev); | 740 | hci_free_dev(hdev); |
744 | kfree(data); | ||
745 | } | 741 | } |
746 | 742 | ||
747 | static struct usb_driver bfusb_driver = { | 743 | static struct usb_driver bfusb_driver = { |
diff --git a/drivers/bluetooth/bluecard_cs.c b/drivers/bluetooth/bluecard_cs.c index 66c3a6770c41..0d26851d6e49 100644 --- a/drivers/bluetooth/bluecard_cs.c +++ b/drivers/bluetooth/bluecard_cs.c | |||
@@ -681,7 +681,7 @@ static int bluecard_hci_send_frame(struct sk_buff *skb) | |||
681 | case HCI_SCODATA_PKT: | 681 | case HCI_SCODATA_PKT: |
682 | hdev->stat.sco_tx++; | 682 | hdev->stat.sco_tx++; |
683 | break; | 683 | break; |
684 | }; | 684 | } |
685 | 685 | ||
686 | /* Prepend skb with frame type */ | 686 | /* Prepend skb with frame type */ |
687 | memcpy(skb_push(skb, 1), &bt_cb(skb)->pkt_type, 1); | 687 | memcpy(skb_push(skb, 1), &bt_cb(skb)->pkt_type, 1); |
@@ -849,7 +849,7 @@ static int bluecard_probe(struct pcmcia_device *link) | |||
849 | bluecard_info_t *info; | 849 | bluecard_info_t *info; |
850 | 850 | ||
851 | /* Create new info device */ | 851 | /* Create new info device */ |
852 | info = kzalloc(sizeof(*info), GFP_KERNEL); | 852 | info = devm_kzalloc(&link->dev, sizeof(*info), GFP_KERNEL); |
853 | if (!info) | 853 | if (!info) |
854 | return -ENOMEM; | 854 | return -ENOMEM; |
855 | 855 | ||
@@ -864,10 +864,7 @@ static int bluecard_probe(struct pcmcia_device *link) | |||
864 | 864 | ||
865 | static void bluecard_detach(struct pcmcia_device *link) | 865 | static void bluecard_detach(struct pcmcia_device *link) |
866 | { | 866 | { |
867 | bluecard_info_t *info = link->priv; | ||
868 | |||
869 | bluecard_release(link); | 867 | bluecard_release(link); |
870 | kfree(info); | ||
871 | } | 868 | } |
872 | 869 | ||
873 | 870 | ||
diff --git a/drivers/bluetooth/bpa10x.c b/drivers/bluetooth/bpa10x.c index 29caaed2d715..2fe4a8031348 100644 --- a/drivers/bluetooth/bpa10x.c +++ b/drivers/bluetooth/bpa10x.c | |||
@@ -443,7 +443,7 @@ static int bpa10x_probe(struct usb_interface *intf, const struct usb_device_id * | |||
443 | if (intf->cur_altsetting->desc.bInterfaceNumber != 0) | 443 | if (intf->cur_altsetting->desc.bInterfaceNumber != 0) |
444 | return -ENODEV; | 444 | return -ENODEV; |
445 | 445 | ||
446 | data = kzalloc(sizeof(*data), GFP_KERNEL); | 446 | data = devm_kzalloc(&intf->dev, sizeof(*data), GFP_KERNEL); |
447 | if (!data) | 447 | if (!data) |
448 | return -ENOMEM; | 448 | return -ENOMEM; |
449 | 449 | ||
@@ -453,10 +453,8 @@ static int bpa10x_probe(struct usb_interface *intf, const struct usb_device_id * | |||
453 | init_usb_anchor(&data->rx_anchor); | 453 | init_usb_anchor(&data->rx_anchor); |
454 | 454 | ||
455 | hdev = hci_alloc_dev(); | 455 | hdev = hci_alloc_dev(); |
456 | if (!hdev) { | 456 | if (!hdev) |
457 | kfree(data); | ||
458 | return -ENOMEM; | 457 | return -ENOMEM; |
459 | } | ||
460 | 458 | ||
461 | hdev->bus = HCI_USB; | 459 | hdev->bus = HCI_USB; |
462 | hci_set_drvdata(hdev, data); | 460 | hci_set_drvdata(hdev, data); |
@@ -475,7 +473,6 @@ static int bpa10x_probe(struct usb_interface *intf, const struct usb_device_id * | |||
475 | err = hci_register_dev(hdev); | 473 | err = hci_register_dev(hdev); |
476 | if (err < 0) { | 474 | if (err < 0) { |
477 | hci_free_dev(hdev); | 475 | hci_free_dev(hdev); |
478 | kfree(data); | ||
479 | return err; | 476 | return err; |
480 | } | 477 | } |
481 | 478 | ||
@@ -500,7 +497,6 @@ static void bpa10x_disconnect(struct usb_interface *intf) | |||
500 | hci_free_dev(data->hdev); | 497 | hci_free_dev(data->hdev); |
501 | kfree_skb(data->rx_skb[0]); | 498 | kfree_skb(data->rx_skb[0]); |
502 | kfree_skb(data->rx_skb[1]); | 499 | kfree_skb(data->rx_skb[1]); |
503 | kfree(data); | ||
504 | } | 500 | } |
505 | 501 | ||
506 | static struct usb_driver bpa10x_driver = { | 502 | static struct usb_driver bpa10x_driver = { |
diff --git a/drivers/bluetooth/bt3c_cs.c b/drivers/bluetooth/bt3c_cs.c index 8925b6d672a6..7ffd3f407144 100644 --- a/drivers/bluetooth/bt3c_cs.c +++ b/drivers/bluetooth/bt3c_cs.c | |||
@@ -638,7 +638,7 @@ static int bt3c_probe(struct pcmcia_device *link) | |||
638 | bt3c_info_t *info; | 638 | bt3c_info_t *info; |
639 | 639 | ||
640 | /* Create new info device */ | 640 | /* Create new info device */ |
641 | info = kzalloc(sizeof(*info), GFP_KERNEL); | 641 | info = devm_kzalloc(&link->dev, sizeof(*info), GFP_KERNEL); |
642 | if (!info) | 642 | if (!info) |
643 | return -ENOMEM; | 643 | return -ENOMEM; |
644 | 644 | ||
@@ -654,10 +654,7 @@ static int bt3c_probe(struct pcmcia_device *link) | |||
654 | 654 | ||
655 | static void bt3c_detach(struct pcmcia_device *link) | 655 | static void bt3c_detach(struct pcmcia_device *link) |
656 | { | 656 | { |
657 | bt3c_info_t *info = link->priv; | ||
658 | |||
659 | bt3c_release(link); | 657 | bt3c_release(link); |
660 | kfree(info); | ||
661 | } | 658 | } |
662 | 659 | ||
663 | static int bt3c_check_config(struct pcmcia_device *p_dev, void *priv_data) | 660 | static int bt3c_check_config(struct pcmcia_device *p_dev, void *priv_data) |
diff --git a/drivers/bluetooth/btmrvl_sdio.c b/drivers/bluetooth/btmrvl_sdio.c index 6a9e9717d3ab..3f4bfc814dc7 100644 --- a/drivers/bluetooth/btmrvl_sdio.c +++ b/drivers/bluetooth/btmrvl_sdio.c | |||
@@ -600,8 +600,7 @@ static int btmrvl_sdio_card_to_host(struct btmrvl_private *priv) | |||
600 | exit: | 600 | exit: |
601 | if (ret) { | 601 | if (ret) { |
602 | hdev->stat.err_rx++; | 602 | hdev->stat.err_rx++; |
603 | if (skb) | 603 | kfree_skb(skb); |
604 | kfree_skb(skb); | ||
605 | } | 604 | } |
606 | 605 | ||
607 | return ret; | 606 | return ret; |
@@ -956,11 +955,9 @@ static int btmrvl_sdio_probe(struct sdio_func *func, | |||
956 | BT_INFO("vendor=0x%x, device=0x%x, class=%d, fn=%d", | 955 | BT_INFO("vendor=0x%x, device=0x%x, class=%d, fn=%d", |
957 | id->vendor, id->device, id->class, func->num); | 956 | id->vendor, id->device, id->class, func->num); |
958 | 957 | ||
959 | card = kzalloc(sizeof(*card), GFP_KERNEL); | 958 | card = devm_kzalloc(&func->dev, sizeof(*card), GFP_KERNEL); |
960 | if (!card) { | 959 | if (!card) |
961 | ret = -ENOMEM; | 960 | return -ENOMEM; |
962 | goto done; | ||
963 | } | ||
964 | 961 | ||
965 | card->func = func; | 962 | card->func = func; |
966 | 963 | ||
@@ -974,8 +971,7 @@ static int btmrvl_sdio_probe(struct sdio_func *func, | |||
974 | 971 | ||
975 | if (btmrvl_sdio_register_dev(card) < 0) { | 972 | if (btmrvl_sdio_register_dev(card) < 0) { |
976 | BT_ERR("Failed to register BT device!"); | 973 | BT_ERR("Failed to register BT device!"); |
977 | ret = -ENODEV; | 974 | return -ENODEV; |
978 | goto free_card; | ||
979 | } | 975 | } |
980 | 976 | ||
981 | /* Disable the interrupts on the card */ | 977 | /* Disable the interrupts on the card */ |
@@ -1023,9 +1019,6 @@ disable_host_int: | |||
1023 | btmrvl_sdio_disable_host_int(card); | 1019 | btmrvl_sdio_disable_host_int(card); |
1024 | unreg_dev: | 1020 | unreg_dev: |
1025 | btmrvl_sdio_unregister_dev(card); | 1021 | btmrvl_sdio_unregister_dev(card); |
1026 | free_card: | ||
1027 | kfree(card); | ||
1028 | done: | ||
1029 | return ret; | 1022 | return ret; |
1030 | } | 1023 | } |
1031 | 1024 | ||
@@ -1047,7 +1040,6 @@ static void btmrvl_sdio_remove(struct sdio_func *func) | |||
1047 | BT_DBG("unregester dev"); | 1040 | BT_DBG("unregester dev"); |
1048 | btmrvl_sdio_unregister_dev(card); | 1041 | btmrvl_sdio_unregister_dev(card); |
1049 | btmrvl_remove_card(card->priv); | 1042 | btmrvl_remove_card(card->priv); |
1050 | kfree(card); | ||
1051 | } | 1043 | } |
1052 | } | 1044 | } |
1053 | } | 1045 | } |
diff --git a/drivers/bluetooth/btsdio.c b/drivers/bluetooth/btsdio.c index e10ea0347051..4a9909713874 100644 --- a/drivers/bluetooth/btsdio.c +++ b/drivers/bluetooth/btsdio.c | |||
@@ -304,7 +304,7 @@ static int btsdio_probe(struct sdio_func *func, | |||
304 | tuple = tuple->next; | 304 | tuple = tuple->next; |
305 | } | 305 | } |
306 | 306 | ||
307 | data = kzalloc(sizeof(*data), GFP_KERNEL); | 307 | data = devm_kzalloc(&func->dev, sizeof(*data), GFP_KERNEL); |
308 | if (!data) | 308 | if (!data) |
309 | return -ENOMEM; | 309 | return -ENOMEM; |
310 | 310 | ||
@@ -315,10 +315,8 @@ static int btsdio_probe(struct sdio_func *func, | |||
315 | skb_queue_head_init(&data->txq); | 315 | skb_queue_head_init(&data->txq); |
316 | 316 | ||
317 | hdev = hci_alloc_dev(); | 317 | hdev = hci_alloc_dev(); |
318 | if (!hdev) { | 318 | if (!hdev) |
319 | kfree(data); | ||
320 | return -ENOMEM; | 319 | return -ENOMEM; |
321 | } | ||
322 | 320 | ||
323 | hdev->bus = HCI_SDIO; | 321 | hdev->bus = HCI_SDIO; |
324 | hci_set_drvdata(hdev, data); | 322 | hci_set_drvdata(hdev, data); |
@@ -340,7 +338,6 @@ static int btsdio_probe(struct sdio_func *func, | |||
340 | err = hci_register_dev(hdev); | 338 | err = hci_register_dev(hdev); |
341 | if (err < 0) { | 339 | if (err < 0) { |
342 | hci_free_dev(hdev); | 340 | hci_free_dev(hdev); |
343 | kfree(data); | ||
344 | return err; | 341 | return err; |
345 | } | 342 | } |
346 | 343 | ||
@@ -366,7 +363,6 @@ static void btsdio_remove(struct sdio_func *func) | |||
366 | hci_unregister_dev(hdev); | 363 | hci_unregister_dev(hdev); |
367 | 364 | ||
368 | hci_free_dev(hdev); | 365 | hci_free_dev(hdev); |
369 | kfree(data); | ||
370 | } | 366 | } |
371 | 367 | ||
372 | static struct sdio_driver btsdio_driver = { | 368 | static struct sdio_driver btsdio_driver = { |
diff --git a/drivers/bluetooth/btuart_cs.c b/drivers/bluetooth/btuart_cs.c index 21e803a6a281..35a553a90616 100644 --- a/drivers/bluetooth/btuart_cs.c +++ b/drivers/bluetooth/btuart_cs.c | |||
@@ -446,7 +446,7 @@ static int btuart_hci_send_frame(struct sk_buff *skb) | |||
446 | case HCI_SCODATA_PKT: | 446 | case HCI_SCODATA_PKT: |
447 | hdev->stat.sco_tx++; | 447 | hdev->stat.sco_tx++; |
448 | break; | 448 | break; |
449 | }; | 449 | } |
450 | 450 | ||
451 | /* Prepend skb with frame type */ | 451 | /* Prepend skb with frame type */ |
452 | memcpy(skb_push(skb, 1), &bt_cb(skb)->pkt_type, 1); | 452 | memcpy(skb_push(skb, 1), &bt_cb(skb)->pkt_type, 1); |
@@ -567,7 +567,7 @@ static int btuart_probe(struct pcmcia_device *link) | |||
567 | btuart_info_t *info; | 567 | btuart_info_t *info; |
568 | 568 | ||
569 | /* Create new info device */ | 569 | /* Create new info device */ |
570 | info = kzalloc(sizeof(*info), GFP_KERNEL); | 570 | info = devm_kzalloc(&link->dev, sizeof(*info), GFP_KERNEL); |
571 | if (!info) | 571 | if (!info) |
572 | return -ENOMEM; | 572 | return -ENOMEM; |
573 | 573 | ||
@@ -583,10 +583,7 @@ static int btuart_probe(struct pcmcia_device *link) | |||
583 | 583 | ||
584 | static void btuart_detach(struct pcmcia_device *link) | 584 | static void btuart_detach(struct pcmcia_device *link) |
585 | { | 585 | { |
586 | btuart_info_t *info = link->priv; | ||
587 | |||
588 | btuart_release(link); | 586 | btuart_release(link); |
589 | kfree(info); | ||
590 | } | 587 | } |
591 | 588 | ||
592 | static int btuart_check_config(struct pcmcia_device *p_dev, void *priv_data) | 589 | static int btuart_check_config(struct pcmcia_device *p_dev, void *priv_data) |
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index 654e248763ef..debda27df9b0 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c | |||
@@ -96,11 +96,12 @@ static struct usb_device_id btusb_table[] = { | |||
96 | { USB_DEVICE(0x0c10, 0x0000) }, | 96 | { USB_DEVICE(0x0c10, 0x0000) }, |
97 | 97 | ||
98 | /* Broadcom BCM20702A0 */ | 98 | /* Broadcom BCM20702A0 */ |
99 | { USB_DEVICE(0x04ca, 0x2003) }, | ||
99 | { USB_DEVICE(0x0489, 0xe042) }, | 100 | { USB_DEVICE(0x0489, 0xe042) }, |
100 | { USB_DEVICE(0x413c, 0x8197) }, | 101 | { USB_DEVICE(0x413c, 0x8197) }, |
101 | 102 | ||
102 | /* Foxconn - Hon Hai */ | 103 | /* Foxconn - Hon Hai */ |
103 | { USB_DEVICE(0x0489, 0xe033) }, | 104 | { USB_VENDOR_AND_INTERFACE_INFO(0x0489, 0xff, 0x01, 0x01) }, |
104 | 105 | ||
105 | /*Broadcom devices with vendor specific id */ | 106 | /*Broadcom devices with vendor specific id */ |
106 | { USB_VENDOR_AND_INTERFACE_INFO(0x0a5c, 0xff, 0x01, 0x01) }, | 107 | { USB_VENDOR_AND_INTERFACE_INFO(0x0a5c, 0xff, 0x01, 0x01) }, |
@@ -956,7 +957,7 @@ static int btusb_probe(struct usb_interface *intf, | |||
956 | return -ENODEV; | 957 | return -ENODEV; |
957 | } | 958 | } |
958 | 959 | ||
959 | data = kzalloc(sizeof(*data), GFP_KERNEL); | 960 | data = devm_kzalloc(&intf->dev, sizeof(*data), GFP_KERNEL); |
960 | if (!data) | 961 | if (!data) |
961 | return -ENOMEM; | 962 | return -ENOMEM; |
962 | 963 | ||
@@ -979,10 +980,8 @@ static int btusb_probe(struct usb_interface *intf, | |||
979 | } | 980 | } |
980 | } | 981 | } |
981 | 982 | ||
982 | if (!data->intr_ep || !data->bulk_tx_ep || !data->bulk_rx_ep) { | 983 | if (!data->intr_ep || !data->bulk_tx_ep || !data->bulk_rx_ep) |
983 | kfree(data); | ||
984 | return -ENODEV; | 984 | return -ENODEV; |
985 | } | ||
986 | 985 | ||
987 | data->cmdreq_type = USB_TYPE_CLASS; | 986 | data->cmdreq_type = USB_TYPE_CLASS; |
988 | 987 | ||
@@ -1002,10 +1001,8 @@ static int btusb_probe(struct usb_interface *intf, | |||
1002 | init_usb_anchor(&data->deferred); | 1001 | init_usb_anchor(&data->deferred); |
1003 | 1002 | ||
1004 | hdev = hci_alloc_dev(); | 1003 | hdev = hci_alloc_dev(); |
1005 | if (!hdev) { | 1004 | if (!hdev) |
1006 | kfree(data); | ||
1007 | return -ENOMEM; | 1005 | return -ENOMEM; |
1008 | } | ||
1009 | 1006 | ||
1010 | hdev->bus = HCI_USB; | 1007 | hdev->bus = HCI_USB; |
1011 | hci_set_drvdata(hdev, data); | 1008 | hci_set_drvdata(hdev, data); |
@@ -1073,7 +1070,6 @@ static int btusb_probe(struct usb_interface *intf, | |||
1073 | data->isoc, data); | 1070 | data->isoc, data); |
1074 | if (err < 0) { | 1071 | if (err < 0) { |
1075 | hci_free_dev(hdev); | 1072 | hci_free_dev(hdev); |
1076 | kfree(data); | ||
1077 | return err; | 1073 | return err; |
1078 | } | 1074 | } |
1079 | } | 1075 | } |
@@ -1081,7 +1077,6 @@ static int btusb_probe(struct usb_interface *intf, | |||
1081 | err = hci_register_dev(hdev); | 1077 | err = hci_register_dev(hdev); |
1082 | if (err < 0) { | 1078 | if (err < 0) { |
1083 | hci_free_dev(hdev); | 1079 | hci_free_dev(hdev); |
1084 | kfree(data); | ||
1085 | return err; | 1080 | return err; |
1086 | } | 1081 | } |
1087 | 1082 | ||
@@ -1114,7 +1109,6 @@ static void btusb_disconnect(struct usb_interface *intf) | |||
1114 | usb_driver_release_interface(&btusb_driver, data->isoc); | 1109 | usb_driver_release_interface(&btusb_driver, data->isoc); |
1115 | 1110 | ||
1116 | hci_free_dev(hdev); | 1111 | hci_free_dev(hdev); |
1117 | kfree(data); | ||
1118 | } | 1112 | } |
1119 | 1113 | ||
1120 | #ifdef CONFIG_PM | 1114 | #ifdef CONFIG_PM |
diff --git a/drivers/bluetooth/btwilink.c b/drivers/bluetooth/btwilink.c index 88694697f34f..60abf596f60e 100644 --- a/drivers/bluetooth/btwilink.c +++ b/drivers/bluetooth/btwilink.c | |||
@@ -297,16 +297,14 @@ static int bt_ti_probe(struct platform_device *pdev) | |||
297 | struct hci_dev *hdev; | 297 | struct hci_dev *hdev; |
298 | int err; | 298 | int err; |
299 | 299 | ||
300 | hst = kzalloc(sizeof(struct ti_st), GFP_KERNEL); | 300 | hst = devm_kzalloc(&pdev->dev, sizeof(struct ti_st), GFP_KERNEL); |
301 | if (!hst) | 301 | if (!hst) |
302 | return -ENOMEM; | 302 | return -ENOMEM; |
303 | 303 | ||
304 | /* Expose "hciX" device to user space */ | 304 | /* Expose "hciX" device to user space */ |
305 | hdev = hci_alloc_dev(); | 305 | hdev = hci_alloc_dev(); |
306 | if (!hdev) { | 306 | if (!hdev) |
307 | kfree(hst); | ||
308 | return -ENOMEM; | 307 | return -ENOMEM; |
309 | } | ||
310 | 308 | ||
311 | BT_DBG("hdev %p", hdev); | 309 | BT_DBG("hdev %p", hdev); |
312 | 310 | ||
@@ -321,7 +319,6 @@ static int bt_ti_probe(struct platform_device *pdev) | |||
321 | err = hci_register_dev(hdev); | 319 | err = hci_register_dev(hdev); |
322 | if (err < 0) { | 320 | if (err < 0) { |
323 | BT_ERR("Can't register HCI device error %d", err); | 321 | BT_ERR("Can't register HCI device error %d", err); |
324 | kfree(hst); | ||
325 | hci_free_dev(hdev); | 322 | hci_free_dev(hdev); |
326 | return err; | 323 | return err; |
327 | } | 324 | } |
@@ -347,7 +344,6 @@ static int bt_ti_remove(struct platform_device *pdev) | |||
347 | hci_unregister_dev(hdev); | 344 | hci_unregister_dev(hdev); |
348 | 345 | ||
349 | hci_free_dev(hdev); | 346 | hci_free_dev(hdev); |
350 | kfree(hst); | ||
351 | 347 | ||
352 | dev_set_drvdata(&pdev->dev, NULL); | 348 | dev_set_drvdata(&pdev->dev, NULL); |
353 | return 0; | 349 | return 0; |
@@ -362,21 +358,7 @@ static struct platform_driver btwilink_driver = { | |||
362 | }, | 358 | }, |
363 | }; | 359 | }; |
364 | 360 | ||
365 | /* ------- Module Init/Exit interfaces ------ */ | 361 | module_platform_driver(btwilink_driver); |
366 | static int __init btwilink_init(void) | ||
367 | { | ||
368 | BT_INFO("Bluetooth Driver for TI WiLink - Version %s", VERSION); | ||
369 | |||
370 | return platform_driver_register(&btwilink_driver); | ||
371 | } | ||
372 | |||
373 | static void __exit btwilink_exit(void) | ||
374 | { | ||
375 | platform_driver_unregister(&btwilink_driver); | ||
376 | } | ||
377 | |||
378 | module_init(btwilink_init); | ||
379 | module_exit(btwilink_exit); | ||
380 | 362 | ||
381 | /* ------ Module Info ------ */ | 363 | /* ------ Module Info ------ */ |
382 | 364 | ||
diff --git a/drivers/bluetooth/dtl1_cs.c b/drivers/bluetooth/dtl1_cs.c index 97a7784db4a2..036cb366fe6e 100644 --- a/drivers/bluetooth/dtl1_cs.c +++ b/drivers/bluetooth/dtl1_cs.c | |||
@@ -550,7 +550,7 @@ static int dtl1_probe(struct pcmcia_device *link) | |||
550 | dtl1_info_t *info; | 550 | dtl1_info_t *info; |
551 | 551 | ||
552 | /* Create new info device */ | 552 | /* Create new info device */ |
553 | info = kzalloc(sizeof(*info), GFP_KERNEL); | 553 | info = devm_kzalloc(&link->dev, sizeof(*info), GFP_KERNEL); |
554 | if (!info) | 554 | if (!info) |
555 | return -ENOMEM; | 555 | return -ENOMEM; |
556 | 556 | ||
@@ -569,7 +569,6 @@ static void dtl1_detach(struct pcmcia_device *link) | |||
569 | 569 | ||
570 | dtl1_close(info); | 570 | dtl1_close(info); |
571 | pcmcia_disable_device(link); | 571 | pcmcia_disable_device(link); |
572 | kfree(info); | ||
573 | } | 572 | } |
574 | 573 | ||
575 | static int dtl1_confcheck(struct pcmcia_device *p_dev, void *priv_data) | 574 | static int dtl1_confcheck(struct pcmcia_device *p_dev, void *priv_data) |
diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c index 74e0966b3ead..c8abce3d2d9c 100644 --- a/drivers/bluetooth/hci_ldisc.c +++ b/drivers/bluetooth/hci_ldisc.c | |||
@@ -531,7 +531,7 @@ static int hci_uart_tty_ioctl(struct tty_struct *tty, struct file * file, | |||
531 | default: | 531 | default: |
532 | err = n_tty_ioctl_helper(tty, file, cmd, arg); | 532 | err = n_tty_ioctl_helper(tty, file, cmd, arg); |
533 | break; | 533 | break; |
534 | }; | 534 | } |
535 | 535 | ||
536 | return err; | 536 | return err; |
537 | } | 537 | } |
diff --git a/drivers/bluetooth/hci_ll.c b/drivers/bluetooth/hci_ll.c index ff6d589c34a5..cfc767938589 100644 --- a/drivers/bluetooth/hci_ll.c +++ b/drivers/bluetooth/hci_ll.c | |||
@@ -481,7 +481,7 @@ static int ll_recv(struct hci_uart *hu, void *data, int count) | |||
481 | hu->hdev->stat.err_rx++; | 481 | hu->hdev->stat.err_rx++; |
482 | ptr++; count--; | 482 | ptr++; count--; |
483 | continue; | 483 | continue; |
484 | }; | 484 | } |
485 | 485 | ||
486 | ptr++; count--; | 486 | ptr++; count--; |
487 | 487 | ||
diff --git a/drivers/bluetooth/hci_vhci.c b/drivers/bluetooth/hci_vhci.c index 3f72595a6017..d8b7aed6e4a9 100644 --- a/drivers/bluetooth/hci_vhci.c +++ b/drivers/bluetooth/hci_vhci.c | |||
@@ -156,7 +156,7 @@ static inline ssize_t vhci_put_user(struct vhci_data *data, | |||
156 | case HCI_SCODATA_PKT: | 156 | case HCI_SCODATA_PKT: |
157 | data->hdev->stat.sco_tx++; | 157 | data->hdev->stat.sco_tx++; |
158 | break; | 158 | break; |
159 | }; | 159 | } |
160 | 160 | ||
161 | return total; | 161 | return total; |
162 | } | 162 | } |