From 9d59600746cdbbb0298e53883caa09cea6868482 Mon Sep 17 00:00:00 2001 From: Jin Cheng Date: Fri, 21 Feb 2025 11:12:44 +0800 Subject: [PATCH 1/3] fix(bt/controller): fixed some controller bugs on ESP32. 1. added a VSC to control whether to initiate lmp_auto_rate - Closes https://github.com/espressif/esp-idf/issues/15133 2. fixed EA resource cleanup error after SNIFF negotiation failure - Closes https://github.com/espressif/esp-idf/issues/13605 3. removed an assertion in SCO data TX handler after disconnection - Closes https://github.com/espressif/esp-idf/issues/15176 --- components/bt/controller/lib_esp32 | 2 +- components/esp_rom/esp32/ld/esp32.rom.ld | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/components/bt/controller/lib_esp32 b/components/bt/controller/lib_esp32 index 6093909e01..fbbb054cbc 160000 --- a/components/bt/controller/lib_esp32 +++ b/components/bt/controller/lib_esp32 @@ -1 +1 @@ -Subproject commit 6093909e01930f8cda6f60510f8a412c6d1814e8 +Subproject commit fbbb054cbc5c8b5aa466208dc8d12ccc10d7e08c diff --git a/components/esp_rom/esp32/ld/esp32.rom.ld b/components/esp_rom/esp32/ld/esp32.rom.ld index 8b873de821..ef706b835d 100644 --- a/components/esp_rom/esp32/ld/esp32.rom.ld +++ b/components/esp_rom/esp32/ld/esp32.rom.ld @@ -663,6 +663,7 @@ PROVIDE ( ld_acl_rsw_frm_cbk = 0x40033bb0 ); PROVIDE ( ld_sco_modify = 0x40031778 ); PROVIDE ( lm_cmd_cmp_send = 0x40051838 ); PROVIDE ( ld_sco_frm_cbk = 0x400349dc ); +PROVIDE ( ld_sco_evt_start_cbk = 0x40031afc ); PROVIDE ( ld_sco_evt_stop_cbk = 0x40031d78 ); PROVIDE ( ld_acl_rsw_evt_start_cbk = 0x40031154 ); PROVIDE ( ld_acl_sco_rsvd_check = 0x4002fa94 ); From 8eab42d7e1d8eff1f51d68af1c8d40052eac3e07 Mon Sep 17 00:00:00 2001 From: gongyantao Date: Fri, 21 Feb 2025 14:21:36 +0800 Subject: [PATCH 2/3] fix(bt): fixed some issues in bt controller - fixed the issue where the NULL pointer was deferenced in lc_free state - avoid accessing released ACL resources in SCO logic --- components/bt/controller/lib_esp32 | 2 +- components/esp_rom/esp32/ld/esp32.rom.ld | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/components/bt/controller/lib_esp32 b/components/bt/controller/lib_esp32 index fbbb054cbc..e4ab88c714 160000 --- a/components/bt/controller/lib_esp32 +++ b/components/bt/controller/lib_esp32 @@ -1 +1 @@ -Subproject commit fbbb054cbc5c8b5aa466208dc8d12ccc10d7e08c +Subproject commit e4ab88c7144a1bd60d761bedbb2cb22c073c732b diff --git a/components/esp_rom/esp32/ld/esp32.rom.ld b/components/esp_rom/esp32/ld/esp32.rom.ld index ef706b835d..2c9118175c 100644 --- a/components/esp_rom/esp32/ld/esp32.rom.ld +++ b/components/esp_rom/esp32/ld/esp32.rom.ld @@ -653,6 +653,7 @@ PROVIDE ( ld_acl_tx_packet_type_select = 0x4002fb40 ); PROVIDE ( ld_acl_sched = 0x40033268 ); PROVIDE ( ld_acl_sniff_sched = 0x4003340c ); PROVIDE ( ld_acl_sniff_exit = 0x400312b4 ); +PROVIDE ( ld_sco_evt_canceled_cbk = 0x40031e18 ); PROVIDE ( ld_acl_rx = 0x4003274c ); PROVIDE ( ld_acl_tx = 0x4002ffdc ); PROVIDE ( ld_acl_rx_sync = 0x4002fbec ); @@ -1628,6 +1629,12 @@ PROVIDE ( lc_pwr_decr_ind_handler = 0x4002859c ); PROVIDE ( lc_pwr_incr_ind_handler = 0x400284a8 ); PROVIDE ( lc_pwr_max_ind_handler = 0x40028690 ); PROVIDE ( lc_setup_sync_param_check = 0x4002354c ); +PROVIDE ( lc_lmp_rsp_to_flow_spec_handler = 0x400297f0 ); +PROVIDE ( lc_pca_sscan_clk_ind_handler = 0x4002a38c ); +PROVIDE ( lc_op_loc_unsniff_req_handler = 0x40028be0 ); +PROVIDE ( lc_op_loc_sniff_req_handler = 0x40028ccc ); +PROVIDE ( lc_op_loc_switch_req_handler = 0x40028df4 ); +PROVIDE ( lc_op_loc_sync_con_req_handler = 0x40028f6c ); PROVIDE ( lm_sync_conf = 0x3ffb8348 ); PROVIDE ( lm_nb_sync_active = 0x3ffb8346 ); From 6bad67bf3cbc70da4c609ba7c619fbf3f3e82df4 Mon Sep 17 00:00:00 2001 From: chenjianhua Date: Sun, 9 Mar 2025 18:20:14 +0800 Subject: [PATCH 3/3] fix(bt): Update bt lib for ESP32(e250cf1) - Disable debug vendor hci command --- components/bt/controller/lib_esp32 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/bt/controller/lib_esp32 b/components/bt/controller/lib_esp32 index e4ab88c714..78dc8fd3ac 160000 --- a/components/bt/controller/lib_esp32 +++ b/components/bt/controller/lib_esp32 @@ -1 +1 @@ -Subproject commit e4ab88c7144a1bd60d761bedbb2cb22c073c732b +Subproject commit 78dc8fd3ac61cf29b7bbde0b3f814436eb500882