From 6601f4e6e6683f71bc434a73b1794699db56b93e Mon Sep 17 00:00:00 2001 From: Mike Date: Sat, 11 Dec 2021 14:02:53 +0000 Subject: [PATCH] Fix receive interrupt bug in Esp32 uart driver (#2446) FIFO receive event should disable interrupt, not enable it. This could cause recursive interrupt entry and watchdog timeout. --- Sming/Arch/Esp32/Components/driver/uart.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sming/Arch/Esp32/Components/driver/uart.cpp b/Sming/Arch/Esp32/Components/driver/uart.cpp index b6cd59f0c9..78a14e48c2 100644 --- a/Sming/Arch/Esp32/Components/driver/uart.cpp +++ b/Sming/Arch/Esp32/Components/driver/uart.cpp @@ -236,7 +236,7 @@ void IRAM_ATTR uart_isr(smg_uart_instance_t* inst) if(usis.rxfifo_ovf) { uart_ll_disable_intr_mask(dev, UART_INTR_RXFIFO_OVF); } else if(read == 0) { - uart_ll_ena_intr_mask(dev, UART_INTR_RXFIFO_FULL | UART_INTR_RXFIFO_TOUT); + uart_ll_disable_intr_mask(dev, UART_INTR_RXFIFO_FULL | UART_INTR_RXFIFO_TOUT); } }