Bluetooth: btusb: Enable Intel events even if already in operational mode

In case the controller is already in operation mode, the Intel specific
events will not be enabled. Fix this by jumping to a common finish
section that will allow setting final details for the controller.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This commit is contained in:
Marcel Holtmann 2020-04-03 21:44:02 +02:00 committed by Johan Hedberg
parent 145373cb1b
commit 7fd673bcda
1 changed files with 9 additions and 8 deletions

View File

@ -2334,7 +2334,7 @@ static int btusb_setup_intel_new(struct hci_dev *hdev)
if (ver.fw_variant == 0x23) {
clear_bit(BTUSB_BOOTLOADER, &data->flags);
btintel_check_bdaddr(hdev);
return 0;
goto finish;
}
/* If the device is not in bootloader mode, then the only possible
@ -2534,6 +2534,14 @@ static int btusb_setup_intel_new(struct hci_dev *hdev)
*/
btintel_load_ddc_config(hdev, fwname);
/* Read the Intel version information after loading the FW */
err = btintel_read_version(hdev, &ver);
if (err)
return err;
btintel_version_info(hdev, &ver);
finish:
/* Set the event mask for Intel specific vendor events. This enables
* a few extra events that are useful during general operation. It
* does not enable any debugging related events.
@ -2543,13 +2551,6 @@ static int btusb_setup_intel_new(struct hci_dev *hdev)
*/
btintel_set_event_mask(hdev, false);
/* Read the Intel version information after loading the FW */
err = btintel_read_version(hdev, &ver);
if (err)
return err;
btintel_version_info(hdev, &ver);
return 0;
}