Skip to content

Commit

Permalink
Bluetooth: btusb: Use an error label for error paths
Browse files Browse the repository at this point in the history
Use a label to remove the repetetive cleanup, for error cases.

Signed-off-by: Rajat Jain <[email protected]>
Reviewed-by: Brian Norris <[email protected]>
Signed-off-by: Marcel Holtmann <[email protected]>
  • Loading branch information
Rajat Jain authored and holtmann committed Feb 16, 2017
1 parent 747d3f1 commit 10ab133
Showing 1 changed file with 9 additions and 10 deletions.
19 changes: 9 additions & 10 deletions drivers/bluetooth/btusb.c
Original file line number Diff line number Diff line change
Expand Up @@ -2995,18 +2995,15 @@ static int btusb_probe(struct usb_interface *intf,
err = usb_set_interface(data->udev, 0, 0);
if (err < 0) {
BT_ERR("failed to set interface 0, alt 0 %d", err);
hci_free_dev(hdev);
return err;
goto out_free_dev;
}
}

if (data->isoc) {
err = usb_driver_claim_interface(&btusb_driver,
data->isoc, data);
if (err < 0) {
hci_free_dev(hdev);
return err;
}
if (err < 0)
goto out_free_dev;
}

#ifdef CONFIG_BT_HCIBTUSB_BCM
Expand All @@ -3020,14 +3017,16 @@ static int btusb_probe(struct usb_interface *intf,
#endif

err = hci_register_dev(hdev);
if (err < 0) {
hci_free_dev(hdev);
return err;
}
if (err < 0)
goto out_free_dev;

usb_set_intfdata(intf, data);

return 0;

out_free_dev:
hci_free_dev(hdev);
return err;
}

static void btusb_disconnect(struct usb_interface *intf)
Expand Down

0 comments on commit 10ab133

Please sign in to comment.