aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorInderpal Singh <inderpal.singh@linaro.org>2011-12-15 15:13:22 +0800
committerAndy Green <andy.green@linaro.org>2011-12-26 22:33:45 +0800
commit906e94fe76eae55c5be5ebb572c5b6ba20a1e67c (patch)
tree46237344c188a99a494c6db76887a8e47d9ece01
parent3803983732e79aa659ee9c9de486e0cbbc48e7f3 (diff)
ARM: EXYNOS: Fix for suspend/resume hang
While resuming from suspend, the system hangs due to some spurious uart interrupts. This patch temporarily masks uart interrupts during reset_port to solve this problem. Signed-off-by: Inderpal Singh <inderpal.singh@linaro.org>
-rw-r--r--drivers/tty/serial/samsung.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/tty/serial/samsung.c b/drivers/tty/serial/samsung.c
index f96f37b5fec..27047daedd2 100644
--- a/drivers/tty/serial/samsung.c
+++ b/drivers/tty/serial/samsung.c
@@ -987,6 +987,9 @@ static void s3c24xx_serial_resetport(struct uart_port *port,
wr_regl(port, S3C2410_UFCON, cfg->ufcon | S3C2410_UFCON_RESETBOTH);
wr_regl(port, S3C2410_UFCON, cfg->ufcon);
+ wr_regl(port, S3C64XX_UINTM, 0xf);
+ wr_regl(port, S3C64XX_UINTP, 0xf);
+
/* some delay is required after fifo reset */
udelay(1);
}