Message ID | 20240122161521.2650805-1-luiz.dentz@gmail.com |
---|---|
State | New |
Headers | show |
Series | [v1] Bluetooth: hci_event: Fix handling of HCI_EV_IO_CAPA_REQUEST | expand |
Hello: This patch was applied to bluetooth/bluetooth-next.git (master) by Luiz Augusto von Dentz <luiz.von.dentz@intel.com>: On Mon, 22 Jan 2024 11:15:21 -0500 you wrote: > From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> > > If we received HCI_EV_IO_CAPA_REQUEST while > HCI_OP_READ_REMOTE_EXT_FEATURES is yet to be responded assume the remote > does support SSP since otherwise this event shouldn't be generated. > > Link: https://lore.kernel.org/linux-bluetooth/CABBYNZ+9UdG1cMZVmdtN3U2aS16AKMCyTARZZyFX7xTEDWcMOw@mail.gmail.com/T/#t > Fixes: c7f59461f5a7 ("Bluetooth: Fix a refcnt underflow problem for hci_conn") > Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> > > [...] Here is the summary with links: - [v1] Bluetooth: hci_event: Fix handling of HCI_EV_IO_CAPA_REQUEST https://git.kernel.org/bluetooth/bluetooth-next/c/c931eafc5a82 You are awesome, thank you!
diff --git a/net/bluetooth/hci_event.c b/net/bluetooth/hci_event.c index 6130c969f361..a15924db83d9 100644 --- a/net/bluetooth/hci_event.c +++ b/net/bluetooth/hci_event.c @@ -5327,9 +5327,12 @@ static void hci_io_capa_request_evt(struct hci_dev *hdev, void *data, hci_dev_lock(hdev); conn = hci_conn_hash_lookup_ba(hdev, ACL_LINK, &ev->bdaddr); - if (!conn || !hci_conn_ssp_enabled(conn)) + if (!conn || !hci_dev_test_flag(hdev, HCI_SSP_ENABLED)) goto unlock; + /* Assume remote supports SSP since it has triggered this event */ + set_bit(HCI_CONN_SSP_ENABLED, &conn->flags); + hci_conn_hold(conn); if (!hci_dev_test_flag(hdev, HCI_MGMT))