From a4fb9f64337d4ebe3ed18527cf18b7c8279dbdef Mon Sep 17 00:00:00 2001 From: David P Date: Wed, 2 Dec 2020 19:35:33 -0500 Subject: updpkg: libre/linux-libre 5.9.12-1 Signed-off-by: David P --- ...ix-attempting-to-set-RPA-timeout-when-uns.patch | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 libre/linux-libre/0003-Bluetooth-Fix-attempting-to-set-RPA-timeout-when-uns.patch (limited to 'libre/linux-libre/0003-Bluetooth-Fix-attempting-to-set-RPA-timeout-when-uns.patch') diff --git a/libre/linux-libre/0003-Bluetooth-Fix-attempting-to-set-RPA-timeout-when-uns.patch b/libre/linux-libre/0003-Bluetooth-Fix-attempting-to-set-RPA-timeout-when-uns.patch new file mode 100644 index 000000000..3618e89ac --- /dev/null +++ b/libre/linux-libre/0003-Bluetooth-Fix-attempting-to-set-RPA-timeout-when-uns.patch @@ -0,0 +1,49 @@ +From 3d936926666bb681f2a9ed6e04f685667e61e2b4 Mon Sep 17 00:00:00 2001 +From: Edward Vear +Date: Tue, 27 Oct 2020 00:02:03 -0700 +Subject: [PATCH 3/4] Bluetooth: Fix attempting to set RPA timeout when + unsupported + +During controller initialization, an LE Set RPA Timeout command is sent +to the controller if supported. However, the value checked to determine +if the command is supported is incorrect. Page 1921 of the Bluetooth +Core Spec v5.2 shows that bit 2 of octet 35 of the Supported_Commands +field corresponds to the LE Set RPA Timeout command, but currently +bit 6 of octet 35 is checked. This patch checks the correct value +instead. + +This issue led to the error seen in the following btmon output during +initialization of an adapter (rtl8761b) and prevented initialization +from completing. + +< HCI Command: LE Set Resolvable Private Address Timeout (0x08|0x002e) plen 2 + Timeout: 900 seconds +> HCI Event: Command Complete (0x0e) plen 4 + LE Set Resolvable Private Address Timeout (0x08|0x002e) ncmd 2 + Status: Unsupported Remote Feature / Unsupported LMP Feature (0x1a) += Close Index: 00:E0:4C:6B:E5:03 + +The error did not appear when running with this patch. + +Signed-off-by: Edward Vear +Signed-off-by: Marcel Holtmann +--- + net/bluetooth/hci_core.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c +index be9cdf5dabe5..30a5267af490 100644 +--- a/net/bluetooth/hci_core.c ++++ b/net/bluetooth/hci_core.c +@@ -763,7 +763,7 @@ static int hci_init3_req(struct hci_request *req, unsigned long opt) + hci_req_add(req, HCI_OP_LE_CLEAR_RESOLV_LIST, 0, NULL); + } + +- if (hdev->commands[35] & 0x40) { ++ if (hdev->commands[35] & 0x04) { + __le16 rpa_timeout = cpu_to_le16(hdev->rpa_timeout); + + /* Set RPA timeout */ +-- +2.29.2 + -- cgit v1.2.3