system: disable interrupts in esp_restart_noos_dig

pull/10970/head
Ivan Grokhotkov 2022-12-21 21:16:40 +01:00
rodzic 490216a2ac
commit 35135d7b29
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 1E050E141B280628
1 zmienionych plików z 9 dodań i 0 usunięć

Wyświetl plik

@ -30,6 +30,15 @@ static shutdown_handler_t shutdown_handlers[SHUTDOWN_HANDLERS_NO];
void IRAM_ATTR esp_restart_noos_dig(void) void IRAM_ATTR esp_restart_noos_dig(void)
{ {
// In case any of the calls below results in re-enabling of interrupts
// (for example, by entering a critical section), disable all the
// interrupts (e.g. from watchdogs) here.
#ifdef CONFIG_IDF_TARGET_ARCH_RISCV
rv_utils_intr_global_disable();
#else
xt_ints_off(0xFFFFFFFF);
#endif
// make sure all the panic handler output is sent from UART FIFO // make sure all the panic handler output is sent from UART FIFO
if (CONFIG_ESP_CONSOLE_UART_NUM >= 0) { if (CONFIG_ESP_CONSOLE_UART_NUM >= 0) {
esp_rom_uart_tx_wait_idle(CONFIG_ESP_CONSOLE_UART_NUM); esp_rom_uart_tx_wait_idle(CONFIG_ESP_CONSOLE_UART_NUM);