From 2cbd995f354df818215632300e6b3a3e8d3eaa0f Mon Sep 17 00:00:00 2001 From: 3djc Date: Tue, 14 Oct 2025 12:40:39 +0200 Subject: [PATCH] fix(radio): prevent starting another USART send when one is already in progress (#6610) --- radio/src/targets/common/arm/stm32/stm32_usart_driver.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/radio/src/targets/common/arm/stm32/stm32_usart_driver.cpp b/radio/src/targets/common/arm/stm32/stm32_usart_driver.cpp index 6cb60fe2e..9c32e5405 100644 --- a/radio/src/targets/common/arm/stm32/stm32_usart_driver.cpp +++ b/radio/src/targets/common/arm/stm32/stm32_usart_driver.cpp @@ -560,6 +560,12 @@ void stm32_usart_send_byte(const stm32_usart_t* usart, uint8_t byte) void stm32_usart_send_buffer(const stm32_usart_t* usart, const uint8_t * data, uint32_t size) { + + if (!stm32_usart_tx_completed(usart)) { + // Transmission is already in progress, abort + return; + } + _half_duplex_output(usart); if (usart->txDMA) {