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

Commit bef34c0a authored by Marcel Holtmann's avatar Marcel Holtmann Committed by Gustavo Padovan
Browse files

Bluetooth: Set default own address type only during controller setup



The default own address type is currently set at every power on of
a controller. This overwrites the value set via debugfs. To avoid
this issue, set the default own address type only during controller
setup.

Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
parent 33337dcb
Loading
Loading
Loading
Loading
+11 −9
Original line number Diff line number Diff line
@@ -1275,15 +1275,17 @@ static void hci_init3_req(struct hci_request *req, unsigned long opt)
		hci_setup_link_policy(req);

	if (lmp_le_capable(hdev)) {
		/* If the controller has a public BD_ADDR, then by
		 * default use that one. If this is a LE only
		 * controller without one, default to the random
		 * address.
		if (test_bit(HCI_SETUP, &hdev->dev_flags)) {
			/* If the controller has a public BD_ADDR, then
			 * by default use that one. If this is a LE only
			 * controller without a public address, default
			 * to the random address.
			 */
			if (bacmp(&hdev->bdaddr, BDADDR_ANY))
				hdev->own_addr_type = ADDR_LE_DEV_PUBLIC;
			else
				hdev->own_addr_type = ADDR_LE_DEV_RANDOM;
		}

		hci_set_le_support(req);
	}