tty: s5pv210: Add delay loop on fifo reset function for UART
authorJongpill Lee <boyko.lee@samsung.com>
Wed, 22 Jun 2011 08:50:25 +0000 (17:50 +0900)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 1 Jul 2011 22:36:20 +0000 (15:36 -0700)
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>
drivers/tty/serial/s5pv210.c

index fb2619f93d84e25424dc551def7a33ae56710041..dce6cb3dbad1b4a8d9d1dca11b9fb4d90db277e7 100644 (file)
@@ -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;
 }