fix(ble): always init the default os queue for all of controllers

This commit is contained in:
ShenWeilong
2026-06-26 10:37:18 +08:00
parent 5a9313eb0f
commit 586d5df8bd
4 changed files with 5 additions and 41 deletions
+2 -12
View File
@@ -954,11 +954,7 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
} }
os_msys_init(); os_msys_init();
#if CONFIG_BT_NIMBLE_ENABLED
// ble_npl_eventq_init() need to use npl function in rom and must be called after esp_bt_controller_init()
/* Initialize default event queue */
ble_npl_eventq_init(nimble_port_get_dflt_eventq());
#endif
esp_phy_modem_init(); esp_phy_modem_init();
periph_module_enable(PERIPH_BT_MODULE); periph_module_enable(PERIPH_BT_MODULE);
periph_module_reset(PERIPH_BT_MODULE); periph_module_reset(PERIPH_BT_MODULE);
@@ -1041,9 +1037,7 @@ controller_init_err:
modem_deint: modem_deint:
esp_phy_modem_deinit(); esp_phy_modem_deinit();
periph_module_disable(PERIPH_BT_MODULE); periph_module_disable(PERIPH_BT_MODULE);
#if CONFIG_BT_NIMBLE_ENABLED
ble_npl_eventq_deinit(nimble_port_get_dflt_eventq());
#endif // CONFIG_BT_NIMBLE_ENABLED
free_mem: free_mem:
os_msys_buf_free(); os_msys_buf_free();
npl_freertos_mempool_deinit(); npl_freertos_mempool_deinit();
@@ -1070,10 +1064,6 @@ esp_err_t esp_bt_controller_deinit(void)
periph_module_disable(PERIPH_BT_MODULE); periph_module_disable(PERIPH_BT_MODULE);
#if CONFIG_BT_NIMBLE_ENABLED
/* De-initialize default event queue */
ble_npl_eventq_deinit(nimble_port_get_dflt_eventq());
#endif
os_msys_buf_free(); os_msys_buf_free();
esp_unregister_npl_funcs(); esp_unregister_npl_funcs();
+1 -14
View File
@@ -1089,12 +1089,6 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
goto free_mem; goto free_mem;
} }
#if CONFIG_BT_NIMBLE_ENABLED
/* ble_npl_eventq_init() needs to use npl functions in rom and
* must be called after esp_bt_controller_init().
*/
ble_npl_eventq_init(nimble_port_get_dflt_eventq());
#endif // CONFIG_BT_NIMBLE_ENABLED
/* Enable BT-related clocks */ /* Enable BT-related clocks */
modem_clock_module_enable(PERIPH_BT_MODULE); modem_clock_module_enable(PERIPH_BT_MODULE);
modem_clock_module_mac_reset(PERIPH_BT_MODULE); modem_clock_module_mac_reset(PERIPH_BT_MODULE);
@@ -1201,9 +1195,7 @@ modem_deint:
esp_phy_modem_deinit(); esp_phy_modem_deinit();
modem_clock_deselect_lp_clock_source(PERIPH_BT_MODULE); modem_clock_deselect_lp_clock_source(PERIPH_BT_MODULE);
modem_clock_module_disable(PERIPH_BT_MODULE); modem_clock_module_disable(PERIPH_BT_MODULE);
#if CONFIG_BT_NIMBLE_ENABLED
ble_npl_eventq_deinit(nimble_port_get_dflt_eventq());
#endif // CONFIG_BT_NIMBLE_ENABLED
free_mem: free_mem:
npl_freertos_mempool_deinit(); npl_freertos_mempool_deinit();
esp_unregister_npl_funcs(); esp_unregister_npl_funcs();
@@ -1236,11 +1228,6 @@ esp_err_t esp_bt_controller_deinit(void)
esp_bt_controller_log_deinit(); esp_bt_controller_log_deinit();
#endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED #endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
#if CONFIG_BT_NIMBLE_ENABLED
/* De-initialize default event queue */
ble_npl_eventq_deinit(nimble_port_get_dflt_eventq());
#endif // CONFIG_BT_NIMBLE_ENABLED
esp_unregister_npl_funcs(); esp_unregister_npl_funcs();
esp_unregister_ext_funcs(); esp_unregister_ext_funcs();
+1 -14
View File
@@ -1045,12 +1045,6 @@ esp_err_t esp_bt_controller_init(esp_bt_controller_config_t *cfg)
goto free_mem; goto free_mem;
} }
#if CONFIG_BT_NIMBLE_ENABLED
/* ble_npl_eventq_init() needs to use npl functions in rom and
* must be called after esp_bt_controller_init().
*/
ble_npl_eventq_init(nimble_port_get_dflt_eventq());
#endif // CONFIG_BT_NIMBLE_ENABLED
/* Enable BT-related clocks */ /* Enable BT-related clocks */
modem_clock_module_enable(PERIPH_BT_MODULE); modem_clock_module_enable(PERIPH_BT_MODULE);
modem_clock_module_mac_reset(PERIPH_BT_MODULE); modem_clock_module_mac_reset(PERIPH_BT_MODULE);
@@ -1155,9 +1149,7 @@ modem_deint:
#endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED #endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
modem_clock_deselect_lp_clock_source(PERIPH_BT_MODULE); modem_clock_deselect_lp_clock_source(PERIPH_BT_MODULE);
modem_clock_module_disable(PERIPH_BT_MODULE); modem_clock_module_disable(PERIPH_BT_MODULE);
#if CONFIG_BT_NIMBLE_ENABLED
ble_npl_eventq_deinit(nimble_port_get_dflt_eventq());
#endif // CONFIG_BT_NIMBLE_ENABLED
free_mem: free_mem:
npl_freertos_mempool_deinit(); npl_freertos_mempool_deinit();
esp_unregister_npl_funcs(); esp_unregister_npl_funcs();
@@ -1189,11 +1181,6 @@ esp_err_t esp_bt_controller_deinit(void)
esp_bt_controller_log_deinit(); esp_bt_controller_log_deinit();
#endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED #endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
#if CONFIG_BT_NIMBLE_ENABLED
/* De-initialize default event queue */
ble_npl_eventq_deinit(nimble_port_get_dflt_eventq());
#endif // CONFIG_BT_NIMBLE_ENABLED
esp_unregister_npl_funcs(); esp_unregister_npl_funcs();
esp_unregister_ext_funcs(); esp_unregister_ext_funcs();