|
@@ -1295,7 +1295,12 @@ static void security_timeout(struct work_struct *work)
|
|
|
struct l2cap_conn *conn = container_of(work, struct l2cap_conn,
|
|
|
security_timer.work);
|
|
|
|
|
|
- l2cap_conn_del(conn->hcon, ETIMEDOUT);
|
|
|
+ BT_DBG("conn %p", conn);
|
|
|
+
|
|
|
+ if (test_and_clear_bit(HCI_CONN_LE_SMP_PEND, &conn->hcon->flags)) {
|
|
|
+ smp_chan_destroy(conn);
|
|
|
+ l2cap_conn_del(conn->hcon, ETIMEDOUT);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
static struct l2cap_conn *l2cap_conn_add(struct hci_conn *hcon, u8 status)
|