Bluetooth: Support new quirks for ATS2851
[ Upstream commit 5bd3135924b4570dcecc8793f7771cb8d42d8b19 ] This adds support for quirks for broken extended create connection, and write auth payload timeout. Signed-off-by: Danil Pylaev <danstiv404@gmail.com> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b04b4fb91d
commit
359fc41e3c
@@ -3626,6 +3626,13 @@ static void hci_encrypt_change_evt(struct hci_dev *hdev, void *data,
|
|||||||
goto unlock;
|
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
|
/* Set the default Authenticated Payload Timeout after
|
||||||
* an LE Link is established. As per Core Spec v5.0, Vol 2, Part B
|
* 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
|
* Section 3.3, the HCI command WRITE_AUTH_PAYLOAD_TIMEOUT should be
|
||||||
|
|||||||
@@ -4842,6 +4842,13 @@ static const struct {
|
|||||||
HCI_QUIRK_BROKEN(SET_RPA_TIMEOUT,
|
HCI_QUIRK_BROKEN(SET_RPA_TIMEOUT,
|
||||||
"HCI LE Set Random Private Address Timeout command is "
|
"HCI LE Set Random Private Address Timeout command is "
|
||||||
"advertised, but not supported."),
|
"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_QUIRK_BROKEN(LE_CODED,
|
||||||
"HCI LE Coded PHY feature bit is set, "
|
"HCI LE Coded PHY feature bit is set, "
|
||||||
"but its usage is not supported.")
|
"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);
|
&own_addr_type);
|
||||||
if (err)
|
if (err)
|
||||||
goto done;
|
goto done;
|
||||||
|
/* Send command LE Extended Create Connection if supported */
|
||||||
if (use_ext_conn(hdev)) {
|
if (use_ext_conn(hdev)) {
|
||||||
err = hci_le_ext_create_conn_sync(hdev, conn, own_addr_type);
|
err = hci_le_ext_create_conn_sync(hdev, conn, own_addr_type);
|
||||||
goto done;
|
goto done;
|
||||||
|
|||||||
Reference in New Issue
Block a user