Bluetooth: Fix not using LE_ADV_NONCONN_IND for instance 0
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Thu, 24 Oct 2019 13:15:43 +0000 (16:15 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Sat, 26 Oct 2019 05:28:19 +0000 (07:28 +0200)
Instance 0 is controlled by stack itself and always set the local name
in the scan response.

Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/hci_request.c

index 3a2ec34..ba99c29 100644 (file)
@@ -904,9 +904,9 @@ static u8 get_adv_instance_scan_rsp_len(struct hci_dev *hdev, u8 instance)
 {
        struct adv_info *adv_instance;
 
-       /* Ignore instance 0 */
+       /* Instance 0x00 always set local name */
        if (instance == 0x00)
-               return 0;
+               return 1;
 
        adv_instance = hci_find_adv_instance(hdev, instance);
        if (!adv_instance)
@@ -923,9 +923,9 @@ static u8 get_cur_adv_instance_scan_rsp_len(struct hci_dev *hdev)
        u8 instance = hdev->cur_adv_instance;
        struct adv_info *adv_instance;
 
-       /* Ignore instance 0 */
+       /* Instance 0x00 always set local name */
        if (instance == 0x00)
-               return 0;
+               return 1;
 
        adv_instance = hci_find_adv_instance(hdev, instance);
        if (!adv_instance)