Commit 0c66940d authored by Yegor Yefremov's avatar Yegor Yefremov Committed by Greg Kroah-Hartman

tty/serial/8250: fix RS485 half-duplex RX

When in half-duplex mode RX will be disabled before TX, but not
enabled after deactivating transmitter. This patch enables
UART_IER_RLSI and UART_IER_RDI interrupts after TX is over.

Cc: Matwey V. Kornilov <>
Signed-off-by: default avatarYegor Yefremov <>
Fixes: e490c914 ("tty: Add software emulated RS485 support for 8250")
Acked-by: default avatarMatwey V. Kornilov <>
Signed-off-by: default avatarGreg Kroah-Hartman <>
parent 9220ebff
......@@ -1403,9 +1403,18 @@ static void __do_stop_tx_rs485(struct uart_8250_port *p)
* Empty the RX FIFO, we are not interested in anything
* received during the half-duplex transmission.
* Enable previously disabled RX interrupts.
if (!(p->port.rs485.flags & SER_RS485_RX_DURING_TX))
if (!(p->port.rs485.flags & SER_RS485_RX_DURING_TX)) {
serial_port_out(&p->port, UART_IER, p->ier);
static void serial8250_em485_handle_stop_tx(unsigned long arg)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment