Commit 5bd31359 authored by Danil Pylaev's avatar Danil Pylaev Committed by Luiz Augusto von Dentz
Browse files

Bluetooth: Support new quirks for ATS2851



This adds support for quirks for broken extended create connection,
and write auth payload timeout.

Signed-off-by: default avatarDanil Pylaev <danstiv404@gmail.com>
Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
parent 94464a7b
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -3626,6 +3626,13 @@ static void hci_encrypt_change_evt(struct hci_dev *hdev, void *data,
		goto unlock;
	}

	/* We skip the WRITE_AUTH_PAYLOAD_TIMEOUT for ATS2851 based controllers
	 * to avoid unexpected SMP command errors when pairing.
	 */
	if (test_bit(HCI_QUIRK_BROKEN_WRITE_AUTH_PAYLOAD_TIMEOUT,
		     &hdev->quirks))
		goto notify;

	/* Set the default Authenticated Payload Timeout after
	 * an LE Link is established. As per Core Spec v5.0, Vol 2, Part B
	 * Section 3.3, the HCI command WRITE_AUTH_PAYLOAD_TIMEOUT should be
+8 −1
Original line number Diff line number Diff line
@@ -4842,6 +4842,13 @@ static const struct {
	HCI_QUIRK_BROKEN(SET_RPA_TIMEOUT,
			 "HCI LE Set Random Private Address Timeout command is "
			 "advertised, but not supported."),
	HCI_QUIRK_BROKEN(EXT_CREATE_CONN,
			 "HCI LE Extended Create Connection command is "
			 "advertised, but not supported."),
	HCI_QUIRK_BROKEN(WRITE_AUTH_PAYLOAD_TIMEOUT,
			 "HCI WRITE AUTH PAYLOAD TIMEOUT command leads "
			 "to unexpected SMP errors when pairing "
			 "and will not be used."),
	HCI_QUIRK_BROKEN(LE_CODED,
			 "HCI LE Coded PHY feature bit is set, "
			 "but its usage is not supported.")
@@ -6477,7 +6484,7 @@ static int hci_le_create_conn_sync(struct hci_dev *hdev, void *data)
					     &own_addr_type);
	if (err)
		goto done;

	/* Send command LE Extended Create Connection if supported */
	if (use_ext_conn(hdev)) {
		err = hci_le_ext_create_conn_sync(hdev, conn, own_addr_type);
		goto done;