forked from espressif/esp-idf
fix(bt): Fix controller disable cause iwdt timeout on esp32
This commit is contained in:
@ -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:
|
||||
@ -1887,6 +1886,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();
|
||||
|
Reference in New Issue
Block a user