During service discovery, advertising will be disabled. This patch
ensures that it is correctly being re-enabled, both for configuration
made via set advertising and add advertising, once the scanning
times out.
Signed-off-by: Florian Grandel <fgrandel@gmail.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
 void mgmt_reenable_advertising(struct hci_dev *hdev)
 {
        struct hci_request req;
+       u8 instance;
 
        if (!hci_dev_test_flag(hdev, HCI_ADVERTISING) &&
            !hci_dev_test_flag(hdev, HCI_ADVERTISING_INSTANCE))
                return;
 
+       instance = get_current_adv_instance(hdev);
+
        hci_req_init(&req, hdev);
-       enable_advertising(&req);
+
+       if (instance) {
+               schedule_adv_instance(&req, instance, true);
+       } else {
+               update_adv_data(&req);
+               update_scan_rsp_data(&req);
+               enable_advertising(&req);
+       }
+
        hci_req_run(&req, adv_enable_complete);
 }