return HCI_LE_CODED_PHY_SUPPORTED(p_acl->peer_le_features);
}
-tHCI_STATUS acl_get_disconnect_reason() {
- return btm_cb.acl_cb_.get_disconnect_reason();
-}
-
void acl_set_disconnect_reason(tHCI_STATUS acl_disc_reason) {
btm_cb.acl_cb_.set_disconnect_reason(acl_disc_reason);
}
hci_error_code_text(status).c_str());
}
+ /* There can be a case when we rejected PIN code authentication */
+ /* otherwise save a new reason */
+ if (btm_get_acl_disc_reason_code() != HCI_ERR_HOST_REJECT_SECURITY) {
+ acl_set_disconnect_reason(static_cast<tHCI_STATUS>(reason));
+ }
+
/* If L2CAP or SCO doesn't know about it, send it to ISO */
if (!l2c_link_hci_disc_comp(handle, reason) &&
!btm_sco_removed(handle, reason)) {
uint16_t acl_get_hci_handle_for_hcif(const RawAddress& bd_addr,
tBT_TRANSPORT transport);
-tHCI_STATUS acl_get_disconnect_reason();
void acl_set_disconnect_reason(tHCI_STATUS acl_disc_reason);
bool acl_is_role_switch_allowed();
bool BTM_ReadPowerMode(const RawAddress& remote_bda, tBTM_PM_MODE* p_mode);
bool btm_dev_support_role_switch(const RawAddress& bd_addr);
tBTM_STATUS btm_sec_disconnect(uint16_t handle, tHCI_STATUS reason);
-tHCI_STATUS acl_get_disconnect_reason();
void btm_acl_created(const RawAddress& bda, uint16_t hci_handle,
uint8_t link_role, tBT_TRANSPORT transport);
void btm_acl_removed(uint16_t handle);
if (!p_lcb) {
status = false;
} else {
- /* There can be a case when we rejected PIN code authentication */
- /* otherwise save a new reason */
- if (acl_get_disconnect_reason() != HCI_ERR_HOST_REJECT_SECURITY) {
- acl_set_disconnect_reason(static_cast<tHCI_STATUS>(reason));
- }
-
- p_lcb->SetDisconnectReason(acl_get_disconnect_reason());
+ p_lcb->SetDisconnectReason(reason);
/* Just in case app decides to try again in the callback context */
p_lcb->link_state = LST_DISCONNECTING;