arm: msm: smd: fix SMD modem processor sync condition
[safe/jmp/linux-2.6] / arch / arm / mach-msm / proc_comm.c
index 1cbdebf..67e701c 100644 (file)
@@ -114,4 +114,17 @@ int msm_proc_comm(unsigned cmd, unsigned *data1, unsigned *data2)
        return ret;
 }
 
-
+/*
+ * We need to wait for the ARM9 to at least partially boot
+ * up before we can continue. Since the ARM9 does resource
+ * allocation, if we dont' wait we could end up crashing or in
+ * and unknown state. This function should be called early to
+ * wait on the ARM9.
+ */
+void __init proc_comm_boot_wait(void)
+{
+       void __iomem *base = MSM_SHARED_RAM_BASE;
+       proc_comm_wait_for(base + MDM_STATUS, PCOM_READY);
+}