From 48669b69e3ecbabbd2936fbbe095901ba83a37f9 Mon Sep 17 00:00:00 2001 From: Uwe Kleine-König Date: Fri, 2 Mar 2018 11:07:29 +0100 Subject: serial: imx: don't prepare to send if no data is available MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit serial_core might call the .start_tx callback without any data being available to send. In this case return early instead of going through all the setup needed for sending which might include disabling RX in RS485 half-duplex mode. Signed-off-by: Uwe Kleine-König Signed-off-by: Greg Kroah-Hartman --- drivers/tty/serial/imx.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'drivers/tty') diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c index 80456ea2603a..3a954194d2f6 100644 --- a/drivers/tty/serial/imx.c +++ b/drivers/tty/serial/imx.c @@ -651,6 +651,9 @@ static void imx_start_tx(struct uart_port *port) struct imx_port *sport = (struct imx_port *)port; u32 ucr1; + if (!sport->port.x_char && uart_circ_empty(&port->state->xmit)) + return; + if (port->rs485.flags & SER_RS485_ENABLED) { u32 ucr2; -- cgit