diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c index 17b946f9ba317c..65636da8f8a1bf 100644 --- a/net/bluetooth/hci_conn.c +++ b/net/bluetooth/hci_conn.c @@ -1074,8 +1074,15 @@ int hci_conn_del(struct hci_conn *conn) /* Unacked frames */ hdev->acl_cnt += conn->sent; } else if (conn->type == LE_LINK) { + struct hci_conn *iso = conn->link; + cancel_delayed_work(&conn->le_conn_timeout); + if (iso) { + iso->link = NULL; + hci_conn_drop(iso); + } + if (hdev->le_pkts) hdev->le_cnt += conn->sent; else