From: Uwe Kleine-König Date: Fri, 2 Mar 2018 10:07:29 +0000 (+0100) Subject: serial: imx: don't prepare to send if no data is available X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=48669b69e3ecbabbd2936fbbe095901ba83a37f9;p=linux.git serial: imx: don't prepare to send if no data is available 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 --- diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c index 80456ea2603a9..3a954194d2f6b 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;