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__);