I am implementing a USART driver and would like to use DMA for reception. In order to detect a timeout on the RX line, I use the USART idle interrupt.
The DMA works and I receive the expected characters. However once the line is idle, the IDLE interrupt is fired again and again. I have only enabled the IDLE interrupt, RXNE interrupt is disabled.
Based on the reference manual, I expect the IDLE interrupt to be fired only once after a reception, however this is not the case.
What could be the issue?