Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 10ab133b authored by Rajat Jain's avatar Rajat Jain Committed by Marcel Holtmann
Browse files

Bluetooth: btusb: Use an error label for error paths



Use a label to remove the repetetive cleanup, for error cases.

Signed-off-by: default avatarRajat Jain <rajatja@google.com>
Reviewed-by: default avatarBrian Norris <briannorris@chromium.org>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 747d3f1a
Loading
Loading
Loading
Loading
+9 −10
Original line number Original line Diff line number Diff line
@@ -2995,18 +2995,15 @@ static int btusb_probe(struct usb_interface *intf,
		err = usb_set_interface(data->udev, 0, 0);
		err = usb_set_interface(data->udev, 0, 0);
		if (err < 0) {
		if (err < 0) {
			BT_ERR("failed to set interface 0, alt 0 %d", err);
			BT_ERR("failed to set interface 0, alt 0 %d", err);
			hci_free_dev(hdev);
			goto out_free_dev;
			return err;
		}
		}
	}
	}


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


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


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


	usb_set_intfdata(intf, data);
	usb_set_intfdata(intf, data);


	return 0;
	return 0;

out_free_dev:
	hci_free_dev(hdev);
	return err;
}
}


static void btusb_disconnect(struct usb_interface *intf)
static void btusb_disconnect(struct usb_interface *intf)