diff --git a/system/stack/btm/btm_sec.cc b/system/stack/btm/btm_sec.cc index b0809010f503063c2073d29cf1f378e0ebdefde0..87601a0c160909e6a0b4639c43a81970317f369b 100644 --- a/system/stack/btm/btm_sec.cc +++ b/system/stack/btm/btm_sec.cc @@ -4046,6 +4046,8 @@ void btm_sec_encrypt_change(uint16_t handle, uint8_t status, __func__, p_dev_rec, p_dev_rec->p_callback); p_dev_rec->p_callback = NULL; l2cu_resubmit_pending_sec_req(&p_dev_rec->bd_addr); + } else if (p_dev_rec->sec_state == BTM_SEC_STATE_AUTHENTICATING) { + p_dev_rec->sec_state = BTM_SEC_STATE_IDLE; } return; } @@ -4700,6 +4702,7 @@ void btm_sec_link_key_request(const RawAddress& bda) { tBTM_SEC_DEV_REC* p_dev_rec = btm_find_or_alloc_dev(bda); VLOG(2) << __func__ << " bda: " << bda; + p_dev_rec->sec_state = BTM_SEC_STATE_AUTHENTICATING; if ((btm_cb.pairing_state == BTM_PAIR_STATE_WAIT_PIN_REQ) && (btm_cb.collision_start_time != 0) &&