forked from Minki/linux
tty/serial: omap: empty the RX FIFO at the end of half-duplex TX
Provided that the SER_RS485_RX_DURING_TX flag is not set, empty the RX FIFO to prevent reading back the transmitted data. Signed-off-by: Dimitris Lampridis <dlampridis@logikonlabs.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
cab53dc9e2
commit
3a13884abe
@ -342,6 +342,12 @@ static void serial_omap_stop_tx(struct uart_port *port)
|
||||
|
||||
if ((up->rs485.flags & SER_RS485_ENABLED) &&
|
||||
!(up->rs485.flags & SER_RS485_RX_DURING_TX)) {
|
||||
/*
|
||||
* Empty the RX FIFO, we are not interested in anything
|
||||
* received during the half-duplex transmission.
|
||||
*/
|
||||
serial_out(up, UART_FCR, up->fcr | UART_FCR_CLEAR_RCVR);
|
||||
/* Re-enable RX interrupts */
|
||||
up->ier |= UART_IER_RLSI | UART_IER_RDI;
|
||||
up->port.read_status_mask |= UART_LSR_DR;
|
||||
serial_out(up, UART_IER, up->ier);
|
||||
|
Loading…
Reference in New Issue
Block a user