summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJongpill Lee <boyko.lee@samsung.com>2011-06-22 08:50:25 (GMT)
committerGreg Kroah-Hartman <gregkh@suse.de>2011-07-01 22:36:20 (GMT)
commit40eb0de5ba7e88e30349f336a38cf22016b8c07f (patch)
tree0507e5048934d50f864ef0ad44716f08bdf9fa7b
parent5568181f188ae9485a0cdbea5ea48f63d186a298 (diff)
downloadlinux-40eb0de5ba7e88e30349f336a38cf22016b8c07f.tar.xz
tty: s5pv210: Add delay loop on fifo reset function for UART
This patch addes delay loop on fifo reset function for UART. On high speed freq, it needs delay function when fifo reset. If not, system will hang by this uart reset problem when resuming from suspend mode. Signed-off-by: Jongpill Lee <boyko.lee@samsung.com> Signed-off-by: Jaecheol Lee <jc.lee@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/tty/serial/s5pv210.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/tty/serial/s5pv210.c b/drivers/tty/serial/s5pv210.c
index fb2619f..dce6cb3 100644
--- a/drivers/tty/serial/s5pv210.c
+++ b/drivers/tty/serial/s5pv210.c
@@ -18,6 +18,7 @@
#include <linux/init.h>
#include <linux/serial_core.h>
#include <linux/serial.h>
+#include <linux/delay.h>
#include <asm/irq.h>
#include <mach/hardware.h>
@@ -83,6 +84,9 @@ static int s5pv210_serial_resetport(struct uart_port *port,
wr_regl(port, S3C2410_UFCON, cfg->ufcon | S3C2410_UFCON_RESETBOTH);
wr_regl(port, S3C2410_UFCON, cfg->ufcon);
+ /* It is need to delay When reset FIFO register */
+ udelay(1);
+
return 0;
}