|
@@ -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);
|