serial: stm32: avoid clearing DMAT bit during transfer
authorValentin Caron <valentin.caron@foss.st.com>
Tue, 8 Aug 2023 16:19:01 +0000 (18:19 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 22 Aug 2023 13:28:51 +0000 (15:28 +0200)
commitdb89728abad5ab6b8f30349142897bd55f1f5b00
tree1995cea65079a18c75aafedb41b71f7c65701dc9
parente112ec4202b154fa7409d388d77151804e462876
serial: stm32: avoid clearing DMAT bit during transfer

It's rather advised to rely on DMA pause / resume instead of
clearing/setting DMA request enable bit for the same purpose. Some DMA
request/acknowledge race may encountered by doing so. We prefer to use
dmaengine_pause and resume instead to pause a dma transfer when it is
necessary.

It is also safer to close DMA before reset DMAT in stm32_usart_shutdown.

Signed-off-by: Valentin Caron <valentin.caron@foss.st.com>
Link: https://lore.kernel.org/r/20230808161906.178996-2-valentin.caron@foss.st.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/stm32-usart.c