Bluetooth: btbcm: Make btbcm_initialize() print local-name on re-init too
authorHans de Goede <hdegoede@redhat.com>
Fri, 17 Apr 2020 17:15:28 +0000 (19:15 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Wed, 22 Apr 2020 17:43:58 +0000 (19:43 +0200)
Make btbcm_initialize() get and print the device's local-name on re-init
too, this will make us also print the local-name after loading the
Patch on UART attached devices making things more consistent.

This also removes some code duplication from btbcm_setup_patchram()
and allows more code duplication removal there in a follow-up patch.

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

index c22e90a5e288f5ee3bf1d0233d05e02943c30799..3404021b10bd43ddc875927fc7f6b582303a0746 100644 (file)
@@ -360,6 +360,13 @@ static int btbcm_read_info(struct hci_dev *hdev)
        bt_dev_info(hdev, "BCM: features 0x%2.2x", skb->data[1]);
        kfree_skb(skb);
 
+       return 0;
+}
+
+static int btbcm_print_local_name(struct hci_dev *hdev)
+{
+       struct sk_buff *skb;
+
        /* Read Local Name */
        skb = btbcm_read_local_name(hdev);
        if (IS_ERR(skb))
@@ -442,6 +449,9 @@ int btbcm_initialize(struct hci_dev *hdev, bool *fw_load_done)
                if (err)
                        return err;
        }
+       err = btbcm_print_local_name(hdev);
+       if (err)
+               return err;
 
        bcm_subver_table = (hdev->bus == HCI_USB) ? bcm_usb_subver_table :
                                                    bcm_uart_subver_table;
@@ -513,7 +523,6 @@ EXPORT_SYMBOL_GPL(btbcm_finalize);
 int btbcm_setup_patchram(struct hci_dev *hdev)
 {
        bool fw_load_done = false;
-       struct sk_buff *skb;
        int err;
 
        /* Initialize */
@@ -529,14 +538,6 @@ int btbcm_setup_patchram(struct hci_dev *hdev)
        if (err)
                return err;
 
-       /* Read Local Name */
-       skb = btbcm_read_local_name(hdev);
-       if (IS_ERR(skb))
-               return PTR_ERR(skb);
-
-       bt_dev_info(hdev, "%s", (char *)(skb->data + 1));
-       kfree_skb(skb);
-
 done:
        btbcm_check_bdaddr(hdev);