Merge branch 'bugfix/bredr_common_lib_mismatch_v6.1' into 'release/v6.1'

fix(bt/controller): Fixed wrong version of btdm_common used by BR/EDR

See merge request espressif/esp-idf!52882
This commit is contained in:
Jiang Jiang Jian
2026-09-17 10:35:02 +08:00
3 changed files with 11 additions and 2 deletions

View File

@@ -851,7 +851,7 @@ btdm_broker_init(void)
{
#if UC_BT_CTRL_BLE_IS_ENABLE
extern const char *ble_controller_get_compile_version(void);
if (memcmp(ble_controller_get_compile_version(), "4c3f1e9", 7) != 0) {
if (memcmp(ble_controller_get_compile_version(), "42d079e", 7) != 0) {
return -1;
}
#endif /* UC_BT_CTRL_BLE_IS_ENABLE */

View File

@@ -128,6 +128,7 @@ extern int bredr_ctrl_feat_coex_en(void);
extern int bredr_ctrl_feat_sam_en(void);
extern int bredr_ctrl_feat_mws_en(void);
extern void bredr_ctrl_get_btdm_info(uint32_t *version, uint32_t *size);
extern const char *co_orca_get_git_version_str(void);
extern void r_orca_log_set_printf(bredr_log_printf_fn printf_fn);
/* Shutdown */
@@ -918,6 +919,14 @@ int esp_bredr_controller_init(esp_bt_controller_config_t *cfg)
cfg->bredr.mempool_size = 1024 * (cfg->bredr.max_acl_conn + 2);
cfg->bredr.mempool_ops = &s_orca_mempool_ops;
uint32_t bredr_btdm_version = 0;
uint32_t bredr_btdm_size = 0;
bredr_ctrl_get_btdm_info(&bredr_btdm_version, &bredr_btdm_size);
if ((cfg->btdm.version != bredr_btdm_version) || (sizeof(esp_bt_ctrl_btdm_config_t) != bredr_btdm_size)) {
ESP_LOGE(BREDR_LOG_TAG, "btdm version used by bredr check failed, version:%x, size:%d", bredr_btdm_version, bredr_btdm_size);
return ESP_ERR_INVALID_VERSION;
}
status = bredr_controller_init(&cfg->bredr);
if (status != 0) {
ESP_LOGE(BREDR_LOG_TAG, "bredr_controller_init failed, status:%d", status);