system: fix brownout ISR triggering assert on single-core configs.

ISR handler was incorrectly calling stall other cpu even on single core systems

Closes https://github.com/espressif/esp-idf/issues/9456
pull/9485/head
Marius Vikhammer 2022-08-01 10:36:19 +08:00
rodzic c0e096d5b2
commit 0f555b2a1d
1 zmienionych plików z 7 dodań i 1 usunięć

Wyświetl plik

@ -41,8 +41,14 @@ IRAM_ATTR static void rtc_brownout_isr_handler(void *arg)
* cleared manually.
*/
brownout_hal_intr_clear();
// Stop the other core.
esp_cpu_stall(!esp_cpu_get_core_id());
#if !CONFIG_ESP_SYSTEM_SINGLE_CORE_MODE
const uint32_t core_id = esp_cpu_get_core_id();
const uint32_t other_core_id = (core_id == 0) ? 1 : 0;
esp_cpu_stall(other_core_id);
#endif
esp_reset_reason_set_hint(ESP_RST_BROWNOUT);
#if CONFIG_SPI_FLASH_BROWNOUT_RESET
if (spi_flash_brownout_need_reset()) {