From 77e1943ed23d8dcdefabbfa2fc81d844ada10138 Mon Sep 17 00:00:00 2001 From: linruihao Date: Thu, 13 Mar 2025 11:54:27 +0800 Subject: [PATCH] fix(bt): Fix controller disable cause iwdt timeout on esp32 --- components/bt/controller/esp32/bt.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/components/bt/controller/esp32/bt.c b/components/bt/controller/esp32/bt.c index 48b1f0d979..96dbe572fa 100644 --- a/components/bt/controller/esp32/bt.c +++ b/components/bt/controller/esp32/bt.c @@ -1047,9 +1047,8 @@ static bool async_wakeup_request(int event) switch (event) { case BTDM_ASYNC_WAKEUP_REQ_HCI: - btdm_in_wakeup_requesting_set(true); - // NO break case BTDM_ASYNC_WAKEUP_REQ_CTRL_DISA: + btdm_in_wakeup_requesting_set(true); if (!btdm_power_state_active()) { do_wakeup_request = true; @@ -1082,10 +1081,10 @@ static void async_wakeup_request_end(int event) bool request_lock = false; switch (event) { case BTDM_ASYNC_WAKEUP_REQ_HCI: + case BTDM_ASYNC_WAKEUP_REQ_CTRL_DISA: request_lock = true; break; case BTDM_ASYNC_WAKEUP_REQ_COEX: - case BTDM_ASYNC_WAKEUP_REQ_CTRL_DISA: request_lock = false; break; default: @@ -1894,6 +1893,7 @@ esp_err_t esp_bt_controller_disable(void) while (!btdm_power_state_active()) { esp_rom_delay_us(1000); } + async_wakeup_request_end(BTDM_ASYNC_WAKEUP_REQ_CTRL_DISA); } btdm_controller_disable();