msm: charm: Don't complete charm_boot on power up

The first time the target boots up, complete(charm_boot) is
called. Subsystem restart assumes that complete(charm_boot)
has never been called before the first time. This can result
in the charm code getting into a bad state. Fix this by not
calling complete on bootup.

Signed-off-by: Laura Abbott <lauraa@codeaurora.org>
diff --git a/arch/arm/mach-msm/mdm.c b/arch/arm/mach-msm/mdm.c
index 7411eaa..3e29c2f 100644
--- a/arch/arm/mach-msm/mdm.c
+++ b/arch/arm/mach-msm/mdm.c
@@ -133,6 +133,7 @@
 	.notifier_call  = charm_panic_prep,
 };
 
+static int first_boot = 1;
 
 static long charm_modem_ioctl(struct file *filp, unsigned int cmd,
 				unsigned long arg)
@@ -165,7 +166,11 @@
 		else
 			charm_boot_status = 0;
 		charm_ready = 1;
-		complete(&charm_boot);
+
+		if (!first_boot)
+			complete(&charm_boot);
+		else
+			first_boot = 0;
 		break;
 	case RAM_DUMP_DONE:
 		CHARM_DBG("%s: charm done collecting RAM dumps\n", __func__);