diff --git a/arch/arm/src/stm32h7/stm32_serial.c b/arch/arm/src/stm32h7/stm32_serial.c index dffca7cc96..cc9f38dca7 100644 --- a/arch/arm/src/stm32h7/stm32_serial.c +++ b/arch/arm/src/stm32h7/stm32_serial.c @@ -3360,7 +3360,8 @@ static void up_dma_txavailable(struct uart_dev_s *dev) /* Only send when the DMA is idle */ - if ((priv->dev.dmatx.length && priv->dev.dmatx.nlength) == 0 && + if (priv->dev.dmatx.length == 0 && + priv->dev.dmatx.nlength == 0 && stm32_dmaresidual(priv->txdma) == 0) { uart_xmitchars_dma(dev);