I've been struggling with a problem a few years ago.
I want to send data to my computer via uart and to free the mcu, I need it to be done with dma.
The problem was, the first transmission worked fine but I couldn't send a second transmission.
When running my nucleo (f411re) under gdb, I could see that the second transmit never started because huart->gState remain set to HAL_UART_STATE_BUSY_TX.
I modify the stm32f4xx_hal_uart.c source code for the stm32cubeMX HAL library and it worked well.
Today, I start a new project and I realize that 2 years later this bug is still there with the latest HAL library !!!
Here is my modified uart source code. The changes are around line 2000
Could someone from ST confirm that it is indeed an error in the library or I'm misusing the dma somehow...