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

Commit dee58c1e authored by Johan Hedberg's avatar Johan Hedberg Committed by Marcel Holtmann
Browse files

Bluetooth: Fix incorrectly setting HCI_CONNECTABLE



Since page scan might be enabled by Add Device we should not implicitly
set connectable whenever something else than Set Connectable changes it.
This patch makes sure that we don't set HCI_CONNECTABLE for these cases
if there are any entries in the white list.

Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
parent a397407f
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -6076,6 +6076,14 @@ void mgmt_connectable(struct hci_dev *hdev, u8 connectable)
	if (!connectable && mgmt_pending_find(MGMT_OP_SET_POWERED, hdev))
		return;

	/* If something else than mgmt changed the page scan state we
	 * can't differentiate this from a change triggered by adding
	 * the first element to the whitelist. Therefore, avoid
	 * incorrectly setting HCI_CONNECTABLE.
	 */
	if (connectable && !list_empty(&hdev->whitelist))
		return;

	if (connectable)
		changed = !test_and_set_bit(HCI_CONNECTABLE, &hdev->dev_flags);
	else