Bluetooth: btbcm: Bail sooner from btbcm_initialize() when not loading fw
authorHans de Goede <hdegoede@redhat.com>
Fri, 17 Apr 2020 17:15:30 +0000 (19:15 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 22 Apr 2020 17:43:58 +0000 (19:43 +0200)
If we have already loaded the firmware/patchram and btbcm_initialize()
is called to re-init the HCI after this then there is no need to get
the USB device-ids and build a firmware-filename out of these.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/btbcm.c

index cc3628cace35c265dad96d195b11baa3c40c45e2..9fa153b358258b211b66bb8da1cf4df1773ca11a 100644 (file)
@@ -463,6 +463,13 @@ int btbcm_initialize(struct hci_dev *hdev, bool *fw_load_done)
                }
        }
 
+       bt_dev_info(hdev, "%s (%3.3u.%3.3u.%3.3u) build %4.4u",
+                   hw_name, (subver & 0xe000) >> 13,
+                   (subver & 0x1f00) >> 8, (subver & 0x00ff), rev & 0x0fff);
+
+       if (*fw_load_done)
+               return 0;
+
        if (hdev->bus == HCI_USB) {
                /* Read USB Product Info */
                skb = btbcm_read_usb_product(hdev);
@@ -479,13 +486,6 @@ int btbcm_initialize(struct hci_dev *hdev, bool *fw_load_done)
                snprintf(fw_name, BCM_FW_NAME_LEN, "brcm/%s.hcd", hw_name);
        }
 
-       bt_dev_info(hdev, "%s (%3.3u.%3.3u.%3.3u) build %4.4u",
-                   hw_name, (subver & 0xe000) >> 13,
-                   (subver & 0x1f00) >> 8, (subver & 0x00ff), rev & 0x0fff);
-
-       if (*fw_load_done)
-               return 0;
-
        err = request_firmware(&fw, fw_name, &hdev->dev);
        if (err) {
                bt_dev_info(hdev, "BCM: Patch %s not found", fw_name);