diff options
-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, | |||
507 | { | 507 | { |
508 | unsigned int ctl, baud, quot, ier; | 508 | unsigned int ctl, baud, quot, ier; |
509 | unsigned long flags; | 509 | unsigned long flags; |
510 | int tries; | ||
510 | 511 | ||
511 | spin_lock_irqsave(&port->lock, flags); | 512 | spin_lock_irqsave(&port->lock, flags); |
512 | 513 | ||
514 | /* Drain the hot tub fully before we power it off for the winter. */ | ||
515 | for (tries = 3; !bcm_uart_tx_empty(port) && tries; tries--) | ||
516 | mdelay(10); | ||
517 | |||
513 | /* disable uart while changing speed */ | 518 | /* disable uart while changing speed */ |
514 | bcm_uart_disable(port); | 519 | bcm_uart_disable(port); |
515 | bcm_uart_flush(port); | 520 | bcm_uart_flush(port); |