diff options
Diffstat (limited to 'drivers/tty/serial/bcm63xx_uart.c')
| -rw-r--r-- | drivers/tty/serial/bcm63xx_uart.c | 5 | 
1 files changed, 5 insertions, 0 deletions
| diff --git a/drivers/tty/serial/bcm63xx_uart.c b/drivers/tty/serial/bcm63xx_uart.c index 583c9a0c7ecc..8c48c3784831 100644 --- a/drivers/tty/serial/bcm63xx_uart.c +++ b/drivers/tty/serial/bcm63xx_uart.c @@ -507,9 +507,14 @@ static void bcm_uart_set_termios(struct uart_port *port,  {  	unsigned int ctl, baud, quot, ier;  	unsigned long flags; +	int tries;  	spin_lock_irqsave(&port->lock, flags); +	/* Drain the hot tub fully before we power it off for the winter. */ +	for (tries = 3; !bcm_uart_tx_empty(port) && tries; tries--) +		mdelay(10); +  	/* disable uart while changing speed */  	bcm_uart_disable(port);  	bcm_uart_flush(port); |