Commit 8e18862d authored by Chuck Meade's avatar Chuck Meade Committed by Kumar Gala

drivers/serial/ucc_uart.c: Add missing call to init UCC UART port timeout

The UCC UART driver is missing a call to uart_update_timeout().
Without this call, attempting to close the port after outputting large
amounts of data (i.e. using tty and uart buffering) results in long
timeouts before the port will actually be shut down.

For example, cat a large file to a UCC UART port.  With the current
driver, the port will stay open for 30 seconds after the last byte
of data is output.  But with this patch, the port is closed as
expected, just after the data has been output (tx fifos empty).
Signed-off-by: default avatarChuck Meade <chuck@ThePTRGroup.com>
Acked-by: default avatarTimur Tabi <timur@freescale.com>
Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
parent 895d603f
...@@ -963,6 +963,9 @@ static void qe_uart_set_termios(struct uart_port *port, ...@@ -963,6 +963,9 @@ static void qe_uart_set_termios(struct uart_port *port,
/* Do we really need a spinlock here? */ /* Do we really need a spinlock here? */
spin_lock_irqsave(&port->lock, flags); spin_lock_irqsave(&port->lock, flags);
/* Update the per-port timeout. */
uart_update_timeout(port, termios->c_cflag, baud);
out_be16(&uccp->upsmr, upsmr); out_be16(&uccp->upsmr, upsmr);
if (soft_uart) { if (soft_uart) {
out_be16(&uccup->supsmr, supsmr); out_be16(&uccup->supsmr, supsmr);
......
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