omap4: uart console disconnects on suspend

REVISIT:
On omap4 on going to suspend, the console gets disconnectd

As a workaround, enabling the interrupts in UART_IER register,
solves the issue.

The correct fix is to be figured out.

Change-Id: I9cba50292f0cd0bead8dbcfc38eddd4793cb4b1d
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com>
diff --git a/drivers/serial/omap-serial.c b/drivers/serial/omap-serial.c
index ec7cb85..76961ab 100644
--- a/drivers/serial/omap-serial.c
+++ b/drivers/serial/omap-serial.c
@@ -1058,10 +1058,19 @@
 static int serial_omap_resume(struct platform_device *dev)
 {
 	struct uart_omap_port *up = platform_get_drvdata(dev);
+	u32 reg = 0x48020004; /* Console: UART3: UART_IER */
 
-	if (omap_is_console_port(&up->port))
+	if (omap_is_console_port(&up->port)) {
 		wake_lock_timeout(&uart_lock, 5 * HZ);
 
+		/* HACK: REVISIT: Omap4: Console: Enable interrupts:
+		* Interrupts on omap4 UART3 are not getting enabled
+		* this portion of code will have to be remove later
+		*/
+		if (cpu_is_omap44xx() && !omap_readl(reg))
+			omap_writel(5, reg);
+	}
+
 #ifndef CONFIG_SUSPEND
 	if (up)
 		uart_resume_port(&serial_omap_reg, &up->port);