serial: stm32: do not deassert RS485 RTS GPIO prematurely
commit2790ce2395upstream. If stm32_usart_start_tx is called with an empty xmit buffer, RTS GPIO could be deasserted prematurely, as bytes in TX FIFO are still transmitting. So this patch remove rts disable when xmit buffer is empty. Fixes:d7c7671616("serial: stm32: Use TC interrupt to deassert GPIO RTS in RS485 mode") Cc: stable <stable@kernel.org> Signed-off-by: Cheick Traore <cheick.traore@foss.st.com> Link: https://lore.kernel.org/r/20250320152540.709091-1-cheick.traore@foss.st.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
f869075830
commit
5f9176f82e
@@ -965,10 +965,8 @@ static void stm32_usart_start_tx(struct uart_port *port)
|
||||
{
|
||||
struct tty_port *tport = &port->state->port;
|
||||
|
||||
if (kfifo_is_empty(&tport->xmit_fifo) && !port->x_char) {
|
||||
stm32_usart_rs485_rts_disable(port);
|
||||
if (kfifo_is_empty(&tport->xmit_fifo) && !port->x_char)
|
||||
return;
|
||||
}
|
||||
|
||||
stm32_usart_rs485_rts_enable(port);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user