kopia lustrzana https://github.com/espressif/esp-idf
Merge branch 'bugfix/btdm_fix_version_excahnge_issue' into 'master'
Component/bt: fix version exchange issue See merge request idf/esp-idf!2329pull/1919/merge
commit
ade78d3850
|
@ -335,7 +335,7 @@ void btm_acl_created (BD_ADDR bda, DEV_CLASS dc, BD_NAME bdn,
|
||||||
btsnd_hcic_ble_read_remote_feat(p->hci_handle);
|
btsnd_hcic_ble_read_remote_feat(p->hci_handle);
|
||||||
} else if (HCI_LE_SLAVE_INIT_FEAT_EXC_SUPPORTED(controller_get_interface()->get_features_ble()->as_array)
|
} else if (HCI_LE_SLAVE_INIT_FEAT_EXC_SUPPORTED(controller_get_interface()->get_features_ble()->as_array)
|
||||||
&& link_role == HCI_ROLE_SLAVE) {
|
&& link_role == HCI_ROLE_SLAVE) {
|
||||||
btsnd_hcic_ble_read_remote_feat(p->hci_handle);
|
btsnd_hcic_rmt_ver_req (p->hci_handle);
|
||||||
} else {
|
} else {
|
||||||
btm_establish_continue(p);
|
btm_establish_continue(p);
|
||||||
}
|
}
|
||||||
|
@ -906,12 +906,17 @@ void btm_read_remote_version_complete (UINT8 *p)
|
||||||
}
|
}
|
||||||
#if BLE_INCLUDED == TRUE
|
#if BLE_INCLUDED == TRUE
|
||||||
if (p_acl_cb->transport == BT_TRANSPORT_LE) {
|
if (p_acl_cb->transport == BT_TRANSPORT_LE) {
|
||||||
if (HCI_LE_DATA_LEN_EXT_SUPPORTED(p_acl_cb->peer_le_features)) {
|
if(p_acl_cb->link_role == HCI_ROLE_MASTER) {
|
||||||
uint16_t data_length = controller_get_interface()->get_ble_default_data_packet_length();
|
if (HCI_LE_DATA_LEN_EXT_SUPPORTED(p_acl_cb->peer_le_features)) {
|
||||||
uint16_t data_txtime = controller_get_interface()->get_ble_default_data_packet_txtime();
|
uint16_t data_length = controller_get_interface()->get_ble_default_data_packet_length();
|
||||||
btsnd_hcic_ble_set_data_length(p_acl_cb->hci_handle, data_length, data_txtime);
|
uint16_t data_txtime = controller_get_interface()->get_ble_default_data_packet_txtime();
|
||||||
|
btsnd_hcic_ble_set_data_length(p_acl_cb->hci_handle, data_length, data_txtime);
|
||||||
|
}
|
||||||
|
l2cble_notify_le_connection (p_acl_cb->remote_addr);
|
||||||
|
} else {
|
||||||
|
//slave role, read remote feature
|
||||||
|
btsnd_hcic_ble_read_remote_feat(p_acl_cb->hci_handle);
|
||||||
}
|
}
|
||||||
l2cble_notify_le_connection (p_acl_cb->remote_addr);
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -58,7 +58,7 @@ static bool lmp_version_below(BD_ADDR bda, uint8_t version)
|
||||||
SMP_TRACE_WARNING("%s cannot retrieve LMP version...", __func__);
|
SMP_TRACE_WARNING("%s cannot retrieve LMP version...", __func__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
SMP_TRACE_WARNING("%s LMP version %d < %d", __func__, acl->lmp_version, version);
|
SMP_TRACE_DEBUG("%s LMP version %d < %d", __func__, acl->lmp_version, version);
|
||||||
return acl->lmp_version < version;
|
return acl->lmp_version < version;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue