If host gets link_key_request event from the controller, it means peer
device started the authentication.
In this case, host should not start the authentication because it will
be caused the authentication collision by controller side.
This sequence can be referred at BT 4.2 core specification document,
p.1388, Figure 4.2.
Bug:
74241491
Test: Manual
- Connect Android wear to Android phone
- Turn off BT on Android wear
- Turn on BT on Android wear
- Observe the logcat whether connection time is within 30 seconds
Android Wear Stability Test
Change-Id: I138d45316ea75dd96444c36bde36ce15a64b669a
__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;
}
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) &&