mirror of
https://github.com/espressif/esp-idf
synced 2025-03-09 17:19:09 -04:00
Merge branch 'bugfix/fix_ble_create_conn_params_copy_v5.4' into 'release/v5.4'
fix(bt/bluedroid): Fixed connection params copying when creating LE connection (v5.4) See merge request espressif/esp-idf!35406
This commit is contained in:
commit
b06209230c
@ -526,12 +526,20 @@ void bta_gattc_open(tBTA_GATTC_CLCB *p_clcb, tBTA_GATTC_DATA *p_data)
|
||||
if (p_data->api_conn.is_aux) {
|
||||
#if (BLE_50_FEATURE_SUPPORT == TRUE)
|
||||
p_dev_rec->ext_conn_params.phy_mask = p_data->api_conn.phy_mask;
|
||||
memcpy(&p_dev_rec->ext_conn_params.phy_1m_conn_params, &p_data->api_conn.phy_1m_conn_params, sizeof(tBTA_BLE_CONN_PARAMS));
|
||||
memcpy(&p_dev_rec->ext_conn_params.phy_2m_conn_params, &p_data->api_conn.phy_2m_conn_params, sizeof(tBTA_BLE_CONN_PARAMS));
|
||||
memcpy(&p_dev_rec->ext_conn_params.phy_coded_conn_params, &p_data->api_conn.phy_coded_conn_params, sizeof(tBTA_BLE_CONN_PARAMS));
|
||||
if (p_data->api_conn.phy_mask & BTA_BLE_PHY_1M_MASK) {
|
||||
memcpy(&p_dev_rec->ext_conn_params.phy_1m_conn_params, &p_data->api_conn.phy_1m_conn_params, sizeof(tBTA_BLE_CONN_PARAMS));
|
||||
}
|
||||
if (p_data->api_conn.phy_mask & BTA_BLE_PHY_2M_MASK) {
|
||||
memcpy(&p_dev_rec->ext_conn_params.phy_2m_conn_params, &p_data->api_conn.phy_2m_conn_params, sizeof(tBTA_BLE_CONN_PARAMS));
|
||||
}
|
||||
if (p_data->api_conn.phy_mask & BTA_BLE_PHY_CODED_MASK) {
|
||||
memcpy(&p_dev_rec->ext_conn_params.phy_coded_conn_params, &p_data->api_conn.phy_coded_conn_params, sizeof(tBTA_BLE_CONN_PARAMS));
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
memcpy(&p_dev_rec->conn_params, &p_data->api_conn.phy_1m_conn_params, sizeof(tBTA_BLE_CONN_PARAMS));
|
||||
if (p_data->api_conn.phy_mask & BTA_BLE_PHY_1M_MASK) {
|
||||
memcpy(&p_dev_rec->conn_params, &p_data->api_conn.phy_1m_conn_params, sizeof(tBTA_BLE_CONN_PARAMS));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
APPL_TRACE_ERROR("Unknown Device, setting rejected");
|
||||
|
@ -160,9 +160,15 @@ void BTA_GATTC_Enh_Open(tBTA_GATTC_IF client_if, BD_ADDR remote_bda, tBTA_ADDR_T
|
||||
p_buf->own_addr_type = own_addr_type;
|
||||
p_buf->phy_mask = phy_mask;
|
||||
memcpy(p_buf->remote_bda, remote_bda, BD_ADDR_LEN);
|
||||
memcpy(&p_buf->phy_1m_conn_params, phy_1m_conn_params, sizeof(tBTA_BLE_CONN_PARAMS));
|
||||
memcpy(&p_buf->phy_2m_conn_params, phy_2m_conn_params, sizeof(tBTA_BLE_CONN_PARAMS));
|
||||
memcpy(&p_buf->phy_coded_conn_params, phy_coded_conn_params, sizeof(tBTA_BLE_CONN_PARAMS));
|
||||
if ((phy_mask & BTA_BLE_PHY_1M_MASK) && phy_1m_conn_params) {
|
||||
memcpy(&p_buf->phy_1m_conn_params, phy_1m_conn_params, sizeof(tBTA_BLE_CONN_PARAMS));
|
||||
}
|
||||
if ((phy_mask & BTA_BLE_PHY_2M_MASK) && phy_2m_conn_params) {
|
||||
memcpy(&p_buf->phy_2m_conn_params, phy_2m_conn_params, sizeof(tBTA_BLE_CONN_PARAMS));
|
||||
}
|
||||
if ((phy_mask & BTA_BLE_PHY_CODED_MASK) && phy_coded_conn_params) {
|
||||
memcpy(&p_buf->phy_coded_conn_params, phy_coded_conn_params, sizeof(tBTA_BLE_CONN_PARAMS));
|
||||
}
|
||||
|
||||
bta_sys_sendmsg(p_buf);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user