Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eb6f95f9 authored by Florian Grandel's avatar Florian Grandel Committed by Marcel Holtmann
Browse files

Bluetooth: mgmt: multi-adv for mgmt_reenable_advertising()



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: default avatarFlorian Grandel <fgrandel@gmail.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent 9d5fc2f2
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -8610,13 +8610,24 @@ static void adv_enable_complete(struct hci_dev *hdev, u8 status, u16 opcode)
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);

	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);
}