serial: samsung: wait for transfer completion before clock disable
[pandora-kernel.git] / drivers / tty / serial / samsung.c
index b31f1c3..626e75b 100644 (file)
@@ -519,11 +519,15 @@ static void s3c24xx_serial_pm(struct uart_port *port, unsigned int level,
                              unsigned int old)
 {
        struct s3c24xx_uart_port *ourport = to_ourport(port);
+       int timeout = 10000;
 
        ourport->pm_level = level;
 
        switch (level) {
        case 3:
+               while (--timeout && !s3c24xx_serial_txempty_nofifo(port))
+                       udelay(100);
+
                if (!IS_ERR(ourport->baudclk) && ourport->baudclk != NULL)
                        clk_disable(ourport->baudclk);