|
@@ -297,16 +297,14 @@ static int bt_ti_probe(struct platform_device *pdev)
|
|
|
struct hci_dev *hdev;
|
|
|
int err;
|
|
|
|
|
|
- hst = kzalloc(sizeof(struct ti_st), GFP_KERNEL);
|
|
|
+ hst = devm_kzalloc(&pdev->dev, sizeof(struct ti_st), GFP_KERNEL);
|
|
|
if (!hst)
|
|
|
return -ENOMEM;
|
|
|
|
|
|
/* Expose "hciX" device to user space */
|
|
|
hdev = hci_alloc_dev();
|
|
|
- if (!hdev) {
|
|
|
- kfree(hst);
|
|
|
+ if (!hdev)
|
|
|
return -ENOMEM;
|
|
|
- }
|
|
|
|
|
|
BT_DBG("hdev %p", hdev);
|
|
|
|
|
@@ -321,7 +319,6 @@ static int bt_ti_probe(struct platform_device *pdev)
|
|
|
err = hci_register_dev(hdev);
|
|
|
if (err < 0) {
|
|
|
BT_ERR("Can't register HCI device error %d", err);
|
|
|
- kfree(hst);
|
|
|
hci_free_dev(hdev);
|
|
|
return err;
|
|
|
}
|
|
@@ -347,7 +344,6 @@ static int bt_ti_remove(struct platform_device *pdev)
|
|
|
hci_unregister_dev(hdev);
|
|
|
|
|
|
hci_free_dev(hdev);
|
|
|
- kfree(hst);
|
|
|
|
|
|
dev_set_drvdata(&pdev->dev, NULL);
|
|
|
return 0;
|