From 87396ab0cea81546aaeb5611589bfd6c1e21c112 Mon Sep 17 00:00:00 2001 From: Zhou Xiao Date: Thu, 26 Jun 2025 17:17:54 +0800 Subject: [PATCH] fix(ble): ensure ble controller disable safety for ESP32-C2 --- components/bt/controller/esp32c2/bt.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/components/bt/controller/esp32c2/bt.c b/components/bt/controller/esp32c2/bt.c index a329881eeb..2f5028e958 100644 --- a/components/bt/controller/esp32c2/bt.c +++ b/components/bt/controller/esp32c2/bt.c @@ -141,7 +141,7 @@ extern void esp_panic_handler_feed_wdts(void); #endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED extern int ble_controller_deinit(void); extern int ble_controller_enable(uint8_t mode); -extern int ble_controller_disable(void); +extern void ble_controller_disable(void); extern int esp_register_ext_funcs (struct ext_funcs_t *); extern void esp_unregister_ext_funcs (void); extern int esp_ble_ll_set_public_addr(const uint8_t *addr); @@ -1077,9 +1077,9 @@ esp_err_t esp_bt_controller_disable(void) ESP_LOGW(NIMBLE_PORT_LOG_TAG, "invalid controller state"); return ESP_FAIL; } - if (ble_controller_disable() != 0) { - return ESP_FAIL; - } + ble_controller_status = ESP_BT_CONTROLLER_STATUS_INITED; + + ble_controller_disable(); ble_stack_disable(); if (s_ble_active) { esp_phy_disable(PHY_MODEM_BT); @@ -1091,7 +1091,6 @@ esp_err_t esp_bt_controller_disable(void) #if CONFIG_SW_COEXIST_ENABLE coex_disable(); #endif - ble_controller_status = ESP_BT_CONTROLLER_STATUS_INITED; return ESP_OK; }