From 906dbd262e3d96694479a398f5bd41547e66d410 Mon Sep 17 00:00:00 2001 From: gengyuchao Date: Wed, 2 Jun 2021 11:55:42 +0800 Subject: [PATCH 1/3] Backport: Fixed handling for invalid feature page. Add missing IRAM_ATTR in coex mode. --- components/bt/lib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/bt/lib b/components/bt/lib index a6e6e3cb80..8ccb84838d 160000 --- a/components/bt/lib +++ b/components/bt/lib @@ -1 +1 @@ -Subproject commit a6e6e3cb80099c57af05de8c4984ec3df53733ee +Subproject commit 8ccb84838d882f1139e92080e36d01e487d39d6a From 62a4a0dcaf1beadfb56ac31533a7f32db8869dd4 Mon Sep 17 00:00:00 2001 From: baohongde Date: Wed, 2 Jun 2021 14:44:09 +0800 Subject: [PATCH 2/3] Delete the option BLE ADV priority high Fix controller task watchdog in Wi-Fi test --- components/bt/Kconfig | 15 --------------- components/bt/bt.c | 7 ------- components/bt/lib | 2 +- 3 files changed, 1 insertion(+), 23 deletions(-) diff --git a/components/bt/Kconfig b/components/bt/Kconfig index 59daad3048..4909ecc970 100644 --- a/components/bt/Kconfig +++ b/components/bt/Kconfig @@ -342,21 +342,6 @@ menu Bluetooth If you set `BLE_ADV_REPORT_DISCARD_THRSHOLD` to a small value or printf every adv lost event, it may cause adv packets lost more. - menuconfig BTDM_COEX_BT_OPTIONS - bool "Coexistence Bluetooth Side Options" - depends on SW_COEXIST_ENABLE - default n - help - Options of Bluetooth Side of WiFi and bluetooth coexistence. - - config BTDM_COEX_BLE_ADV_HIGH_PRIORITY - bool "Improve BLE ADV priority for WiFi & BLE coexistence" - depends on BTDM_COEX_BT_OPTIONS - default n - help - Improve BLE ADV coexistence priority to make it better performance. - For example, BLE mesh need to enable this option to improve BLE adv performance. - endmenu menuconfig BLUEDROID_ENABLED diff --git a/components/bt/bt.c b/components/bt/bt.c index 73931bafab..4372503747 100644 --- a/components/bt/bt.c +++ b/components/bt/bt.c @@ -239,7 +239,6 @@ extern uint8_t coex_schm_curr_period_get(void); extern void * coex_schm_curr_phase_get(void); extern int coex_wifi_channel_get(uint8_t *primary, uint8_t *secondary); extern int coex_register_wifi_channel_change_callback(void *cb); -extern void coex_ble_adv_priority_high_set(bool high); extern char _bss_start_btdm; extern char _bss_end_btdm; @@ -1430,12 +1429,6 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg) goto error; } -#ifdef CONFIG_BTDM_COEX_BLE_ADV_HIGH_PRIORITY - coex_ble_adv_priority_high_set(true); -#else - coex_ble_adv_priority_high_set(false); -#endif - btdm_controller_status = ESP_BT_CONTROLLER_STATUS_INITED; return ESP_OK; diff --git a/components/bt/lib b/components/bt/lib index 8ccb84838d..e81ca744d7 160000 --- a/components/bt/lib +++ b/components/bt/lib @@ -1 +1 @@ -Subproject commit 8ccb84838d882f1139e92080e36d01e487d39d6a +Subproject commit e81ca744d7f36773c02dc57d4a61af6fca33f91c From bb824d7a4bdc2f30e23cddc0ed3cbcda2cd3a5e4 Mon Sep 17 00:00:00 2001 From: baohongde Date: Wed, 2 Jun 2021 17:34:45 +0800 Subject: [PATCH 3/3] bugfix/fix crash when lmp flooding --- components/bt/lib | 2 +- components/esp32/ld/esp32.rom.ld | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/components/bt/lib b/components/bt/lib index e81ca744d7..02bbd03bf7 160000 --- a/components/bt/lib +++ b/components/bt/lib @@ -1 +1 @@ -Subproject commit e81ca744d7f36773c02dc57d4a61af6fca33f91c +Subproject commit 02bbd03bf73ff040672ff02b930aa4c1c467e361 diff --git a/components/esp32/ld/esp32.rom.ld b/components/esp32/ld/esp32.rom.ld index 57114cc093..603c25b7dc 100644 --- a/components/esp32/ld/esp32.rom.ld +++ b/components/esp32/ld/esp32.rom.ld @@ -124,6 +124,7 @@ PROVIDE ( jd_prepare = 0x40060fa8 ); PROVIDE ( ke_env = 0x3ffb93cc ); PROVIDE ( ke_handler_search = 0x4001a430 ); PROVIDE ( ke_task_env = 0x3ffb81d4 ); +PROVIDE ( ke_event_env = 0x3ffb81a4 ); PROVIDE ( lb_default_handler = 0x3ff982b8 ); PROVIDE ( lb_default_state_tab_p_get = 0x4001c198 ); PROVIDE ( lb_env = 0x3ffb9424 ); @@ -1632,5 +1633,22 @@ PROVIDE ( prbs_64bytes = 0x3ff98992 ); PROVIDE ( nvds_env = 0x3ffb8364 ); PROVIDE ( nvds_magic_number = 0x3ff9912a ); PROVIDE ( TASK_DESC_LLD = 0x3ff98b58 ); +PROVIDE ( ld_acl_clk_isr = 0x40030cf8 ); +PROVIDE ( ld_acl_evt_canceled_cbk = 0x40033944 ); +PROVIDE ( ld_acl_evt_stop_cbk = 0x40033870 ); +PROVIDE ( ld_acl_evt_start_cbk = 0x40030ab0 ); +PROVIDE ( ld_acl_test_mode_update = 0x40032050 ); +PROVIDE ( ld_acl_resched = 0x40033814 ); +PROVIDE ( ld_acl_rx_isr = 0x40033aa8 ); +PROVIDE ( lc_acl_disc_ind_handler = 0x4002f270 ); +PROVIDE ( lc_pca_sscan_start_req_handler = 0x40029b34 ); +PROVIDE ( lmp_feats_req_ext_handler = 0x4002ccb0 ); +PROVIDE ( ld_pscan_em_init = 0x4003e5e8 ); +PROVIDE ( ld_acl_rsw_start = 0x40032e90 ); +PROVIDE ( ld_acl_sniff_enter = 0x40031244 ); +PROVIDE ( ld_acl_sniff_trans_sched = 0x40033734 ); +PROVIDE ( lc_pwr_decr_ind_handler = 0x4002859c ); +PROVIDE ( lc_pwr_incr_ind_handler = 0x400284a8 ); +PROVIDE ( lc_pwr_max_ind_handler = 0x40028690 ); /* Above are static data, but can be used, not generated by script >>>>> btdm data */