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

Commit d8270fbb authored by Marcel Holtmann's avatar Marcel Holtmann
Browse files

Bluetooth: btintel: Set quirk for non-persistent diagnostic settings



For Intel controllers the diagnostics settings are not persistent over
HCI Reset. So set the quirk to programm them again on every power up.

Signed-off-by: default avatarMarcel Holtmann <marcel@holtmann.org>
Signed-off-by: default avatarJohan Hedberg <johan.hedberg@intel.com>
parent 7e995b9e
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -97,9 +97,6 @@ int btintel_set_diag(struct hci_dev *hdev, bool enable)
	u8 param[3];
	int err;

	if (!test_bit(HCI_RUNNING, &hdev->flags))
		return -ENETDOWN;

	if (enable) {
		param[0] = 0x03;
		param[1] = 0x03;
@@ -113,6 +110,8 @@ int btintel_set_diag(struct hci_dev *hdev, bool enable)
	skb = __hci_cmd_sync(hdev, 0xfc43, 3, param, HCI_INIT_TIMEOUT);
	if (IS_ERR(skb)) {
		err = PTR_ERR(skb);
		if (err == -ENODATA)
			return 0;
		BT_ERR("%s: Changing Intel diagnostic mode failed (%d)",
		       hdev->name, err);
		return err;
+1 −0
Original line number Diff line number Diff line
@@ -2894,6 +2894,7 @@ static int btusb_probe(struct usb_interface *intf,
		hdev->set_diag = btintel_set_diag;
		hdev->set_bdaddr = btintel_set_bdaddr;
		set_bit(HCI_QUIRK_STRICT_DUPLICATE_FILTER, &hdev->quirks);
		set_bit(HCI_QUIRK_NON_PERSISTENT_DIAG, &hdev->quirks);
	}

	if (id->driver_info & BTUSB_MARVELL)