diff options
Diffstat (limited to 'drivers/bluetooth/bpa10x.c')
| -rw-r--r-- | drivers/bluetooth/bpa10x.c | 8 | 
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/bluetooth/bpa10x.c b/drivers/bluetooth/bpa10x.c index 29caaed2d71..2fe4a803134 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 *  	if (intf->cur_altsetting->desc.bInterfaceNumber != 0)  		return -ENODEV; -	data = kzalloc(sizeof(*data), GFP_KERNEL); +	data = devm_kzalloc(&intf->dev, sizeof(*data), GFP_KERNEL);  	if (!data)  		return -ENOMEM; @@ -453,10 +453,8 @@ static int bpa10x_probe(struct usb_interface *intf, const struct usb_device_id *  	init_usb_anchor(&data->rx_anchor);  	hdev = hci_alloc_dev(); -	if (!hdev) { -		kfree(data); +	if (!hdev)  		return -ENOMEM; -	}  	hdev->bus = HCI_USB;  	hci_set_drvdata(hdev, data); @@ -475,7 +473,6 @@ static int bpa10x_probe(struct usb_interface *intf, const struct usb_device_id *  	err = hci_register_dev(hdev);  	if (err < 0) {  		hci_free_dev(hdev); -		kfree(data);  		return err;  	} @@ -500,7 +497,6 @@ static void bpa10x_disconnect(struct usb_interface *intf)  	hci_free_dev(data->hdev);  	kfree_skb(data->rx_skb[0]);  	kfree_skb(data->rx_skb[1]); -	kfree(data);  }  static struct usb_driver bpa10x_driver = {  |