mirror of
https://github.com/hardkernel/linux.git
synced 2026-03-24 19:40:21 +09:00
Merge tag 'for-net-2022-05-23' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth
Luiz Augusto von Dentz says: ==================== bluetooth pull request for net: - Fix crash when an LE Connection fails to be established. * tag 'for-net-2022-05-23' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth: Bluetooth: hci_conn: Fix hci_connect_le_sync ==================== Link: https://lore.kernel.org/r/20220523200349.3322806-1-luiz.dentz@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -943,10 +943,11 @@ static void create_le_conn_complete(struct hci_dev *hdev, void *data, int err)
|
||||
|
||||
bt_dev_err(hdev, "request failed to create LE connection: err %d", err);
|
||||
|
||||
if (!conn)
|
||||
/* Check if connection is still pending */
|
||||
if (conn != hci_lookup_le_connect(hdev))
|
||||
goto done;
|
||||
|
||||
hci_le_conn_failed(conn, err);
|
||||
hci_conn_failed(conn, err);
|
||||
|
||||
done:
|
||||
hci_dev_unlock(hdev);
|
||||
|
||||
@@ -5617,10 +5617,12 @@ static void le_conn_complete_evt(struct hci_dev *hdev, u8 status,
|
||||
status = HCI_ERROR_INVALID_PARAMETERS;
|
||||
}
|
||||
|
||||
if (status) {
|
||||
hci_conn_failed(conn, status);
|
||||
/* All connection failure handling is taken care of by the
|
||||
* hci_conn_failed function which is triggered by the HCI
|
||||
* request completion callbacks used for connecting.
|
||||
*/
|
||||
if (status)
|
||||
goto unlock;
|
||||
}
|
||||
|
||||
if (conn->dst_type == ADDR_LE_DEV_PUBLIC)
|
||||
addr_type = BDADDR_LE_PUBLIC;
|
||||
|
||||
Reference in New Issue
Block a user