diff options
| author | Sachin Kamat <sachin.kamat@linaro.org> | 2012-07-27 03:08:39 -0400 |
|---|---|---|
| committer | Gustavo Padovan <gustavo.padovan@collabora.co.uk> | 2012-08-06 14:03:02 -0400 |
| commit | 98921dbd00c4e2e4bdd56423cb5edf98d57b45f7 (patch) | |
| tree | e16d6911125fa785fc3406bdd0e12cf15a9e663f /drivers/bluetooth | |
| parent | fdefa118ebbcadad4adbaaab067be06a96a48e15 (diff) | |
Bluetooth: Use devm_kzalloc in btusb.c file
devm_kzalloc() eliminates the need to free memory explicitly
thereby saving some cleanup code.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Diffstat (limited to 'drivers/bluetooth')
| -rw-r--r-- | drivers/bluetooth/btusb.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c index e27221411036..f637c2550016 100644 --- a/drivers/bluetooth/btusb.c +++ b/drivers/bluetooth/btusb.c | |||
| @@ -952,7 +952,7 @@ static int btusb_probe(struct usb_interface *intf, | |||
| 952 | return -ENODEV; | 952 | return -ENODEV; |
| 953 | } | 953 | } |
| 954 | 954 | ||
| 955 | data = kzalloc(sizeof(*data), GFP_KERNEL); | 955 | data = devm_kzalloc(&intf->dev, sizeof(*data), GFP_KERNEL); |
| 956 | if (!data) | 956 | if (!data) |
| 957 | return -ENOMEM; | 957 | return -ENOMEM; |
| 958 | 958 | ||
| @@ -975,10 +975,8 @@ static int btusb_probe(struct usb_interface *intf, | |||
| 975 | } | 975 | } |
| 976 | } | 976 | } |
| 977 | 977 | ||
| 978 | if (!data->intr_ep || !data->bulk_tx_ep || !data->bulk_rx_ep) { | 978 | if (!data->intr_ep || !data->bulk_tx_ep || !data->bulk_rx_ep) |
| 979 | kfree(data); | ||
| 980 | return -ENODEV; | 979 | return -ENODEV; |
| 981 | } | ||
| 982 | 980 | ||
| 983 | data->cmdreq_type = USB_TYPE_CLASS; | 981 | data->cmdreq_type = USB_TYPE_CLASS; |
| 984 | 982 | ||
| @@ -998,10 +996,8 @@ static int btusb_probe(struct usb_interface *intf, | |||
| 998 | init_usb_anchor(&data->deferred); | 996 | init_usb_anchor(&data->deferred); |
| 999 | 997 | ||
| 1000 | hdev = hci_alloc_dev(); | 998 | hdev = hci_alloc_dev(); |
| 1001 | if (!hdev) { | 999 | if (!hdev) |
| 1002 | kfree(data); | ||
| 1003 | return -ENOMEM; | 1000 | return -ENOMEM; |
| 1004 | } | ||
| 1005 | 1001 | ||
| 1006 | hdev->bus = HCI_USB; | 1002 | hdev->bus = HCI_USB; |
| 1007 | hci_set_drvdata(hdev, data); | 1003 | hci_set_drvdata(hdev, data); |
| @@ -1069,7 +1065,6 @@ static int btusb_probe(struct usb_interface *intf, | |||
| 1069 | data->isoc, data); | 1065 | data->isoc, data); |
| 1070 | if (err < 0) { | 1066 | if (err < 0) { |
| 1071 | hci_free_dev(hdev); | 1067 | hci_free_dev(hdev); |
| 1072 | kfree(data); | ||
| 1073 | return err; | 1068 | return err; |
| 1074 | } | 1069 | } |
| 1075 | } | 1070 | } |
| @@ -1077,7 +1072,6 @@ static int btusb_probe(struct usb_interface *intf, | |||
| 1077 | err = hci_register_dev(hdev); | 1072 | err = hci_register_dev(hdev); |
| 1078 | if (err < 0) { | 1073 | if (err < 0) { |
| 1079 | hci_free_dev(hdev); | 1074 | hci_free_dev(hdev); |
| 1080 | kfree(data); | ||
| 1081 | return err; | 1075 | return err; |
| 1082 | } | 1076 | } |
| 1083 | 1077 | ||
| @@ -1110,7 +1104,6 @@ static void btusb_disconnect(struct usb_interface *intf) | |||
| 1110 | usb_driver_release_interface(&btusb_driver, data->isoc); | 1104 | usb_driver_release_interface(&btusb_driver, data->isoc); |
| 1111 | 1105 | ||
| 1112 | hci_free_dev(hdev); | 1106 | hci_free_dev(hdev); |
| 1113 | kfree(data); | ||
| 1114 | } | 1107 | } |
| 1115 | 1108 | ||
| 1116 | #ifdef CONFIG_PM | 1109 | #ifdef CONFIG_PM |
