summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJongpill Lee <boyko.lee@samsung.com>2011-06-22 17:50:25 +0900
committerGreg Kroah-Hartman <gregkh@suse.de>2011-07-01 15:36:20 -0700
commit40eb0de5ba7e88e30349f336a38cf22016b8c07f (patch)
tree0507e5048934d50f864ef0ad44716f08bdf9fa7b /drivers
parent5568181f188ae9485a0cdbea5ea48f63d186a298 (diff)
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>
Diffstat (limited to 'drivers')
-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 fb2619f93d8..dce6cb3dbad 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;
}