aboutsummaryrefslogtreecommitdiff
path: root/drivers/tty
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2015-01-16 22:07:04 +0000
committerMark Brown <broonie@kernel.org>2015-01-16 22:07:04 +0000
commit041be7a254157109dec33e38ff9fe5c6fea60299 (patch)
tree833ec54b71c4656065a3d1c9abf12d376caa4d19 /drivers/tty
parent654cbb2fa5747bb12bd8f179795e0559b7040a9b (diff)
parentc293f79246d7cdaf6e75b40aa1f957eb8d195835 (diff)
Merge branch 'linux-linaro-lsk' into linux-linaro-lsk-rt
Diffstat (limited to 'drivers/tty')
-rw-r--r--drivers/tty/serial/samsung.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c
index aaa0df1f2fc6..4522aac4449b 100644
--- a/drivers/tty/serial/samsung.c
+++ b/drivers/tty/serial/samsung.c
@@ -537,11 +537,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))
clk_disable_unprepare(ourport->baudclk);