|
@@ -382,8 +382,12 @@ static void hci_conn_timeout(struct work_struct *work)
|
|
if (conn->out) {
|
|
if (conn->out) {
|
|
if (conn->type == ACL_LINK)
|
|
if (conn->type == ACL_LINK)
|
|
hci_acl_create_connection_cancel(conn);
|
|
hci_acl_create_connection_cancel(conn);
|
|
- else if (conn->type == LE_LINK)
|
|
|
|
- hci_le_create_connection_cancel(conn);
|
|
|
|
|
|
+ else if (conn->type == LE_LINK) {
|
|
|
|
+ if (test_bit(HCI_CONN_SCANNING, &conn->flags))
|
|
|
|
+ hci_connect_le_scan_remove(conn);
|
|
|
|
+ else
|
|
|
|
+ hci_le_create_connection_cancel(conn);
|
|
|
|
+ }
|
|
} else if (conn->type == SCO_LINK || conn->type == ESCO_LINK) {
|
|
} else if (conn->type == SCO_LINK || conn->type == ESCO_LINK) {
|
|
hci_reject_sco(conn);
|
|
hci_reject_sco(conn);
|
|
}
|
|
}
|