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 fb2619f..dce6cb3 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;
 }