msm: smd_tty: Introduce sleep in case subsytem_get returns error

While opening a smd_port, if the subsytem_get returns error the call to
open returns immediately there by giving a chance to the user space
process to repeatedly place a call to open the same port. This could
lead to a watch dog bite.

Add a sleep in case subsystem_get returns error.

Change-Id: Ic4b88913c955c2362be9e319683418e8ccbe5217
Signed-off-by: Zaheerulla Meer <zmeer@codeaurora.org>
diff --git a/arch/arm/mach-msm/smd_tty.c b/arch/arm/mach-msm/smd_tty.c
index ed7cb99..8a2c23f 100644
--- a/arch/arm/mach-msm/smd_tty.c
+++ b/arch/arm/mach-msm/smd_tty.c
@@ -338,6 +338,16 @@
 		if (peripheral) {
 			info->pil = subsystem_get(peripheral);
 			if (IS_ERR(info->pil)) {
+				SMD_TTY_INFO(
+					"%s failed on smd_tty device :%s subsystem_get failed for %s",
+					__func__, smd_tty[n].smd->port_name,
+					peripheral);
+				/*
+				 * Sleep, inorder to reduce the frequency of
+				 * retry by user-space modules and to avoid
+				 * possible watchdog bite.
+				 */
+				msleep((smd_tty[n].open_wait * 1000));
 				res = PTR_ERR(info->pil);
 				goto out;
 			}