|
@@ -1175,7 +1175,7 @@ int smp_distribute_keys(struct l2cap_conn *conn, __u8 force)
|
|
*keydist &= ~SMP_DIST_SIGN;
|
|
*keydist &= ~SMP_DIST_SIGN;
|
|
}
|
|
}
|
|
|
|
|
|
- if (conn->hcon->out || force) {
|
|
|
|
|
|
+ if (conn->hcon->out || force || !(rsp->init_key_dist & 0x07)) {
|
|
clear_bit(HCI_CONN_LE_SMP_PEND, &conn->hcon->flags);
|
|
clear_bit(HCI_CONN_LE_SMP_PEND, &conn->hcon->flags);
|
|
cancel_delayed_work_sync(&conn->security_timer);
|
|
cancel_delayed_work_sync(&conn->security_timer);
|
|
smp_chan_destroy(conn);
|
|
smp_chan_destroy(conn);
|