summaryrefslogtreecommitdiff
authorYonghui Yu <yonghui.yu@amlogic.com>2018-08-16 16:11:35 (GMT)
committer Xindong Xu <xindong.xu@amlogic.com>2018-08-21 07:30:47 (GMT)
commit501be3b485eb43c0a8fa8dd25f874da38c8764a0 (patch)
treec9c91e615e4b66ccd94d968269a9d79b24827d1e
parent967e759c677fb026991c12f1b79749906bf6a92f (diff)
downloadcommon-ampere-20180821.zip
common-ampere-20180821.tar.gz
common-ampere-20180821.tar.bz2
init: wait emmc ready before root
PD#171658: init: wait emmc ready before root A temporary ugly patch Change-Id: I9a75fabf7460f92b0b9ae51992ac0d3c964798d2 Signed-off-by: Yonghui Yu <yonghui.yu@amlogic.com>
Diffstat
-rw-r--r--init/do_mounts.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/init/do_mounts.c b/init/do_mounts.c
index 1902a1c8..9245c5b 100644
--- a/init/do_mounts.c
+++ b/init/do_mounts.c
@@ -549,13 +549,23 @@ void __init mount_root(void)
void __init prepare_namespace(void)
{
int is_floppy;
-
+#ifdef CONFIG_AMLOGIC_MODIFY
+ dev_t res = 0;
+ int wait = 80; /* 8s max wait*/
+#endif /* CONFIG_AMLOGIC_MODIFY */
if (root_delay) {
printk(KERN_INFO "Waiting %d sec before mounting root device...\n",
root_delay);
ssleep(root_delay);
}
-
+#ifdef CONFIG_AMLOGIC_MODIFY
+ /* A ugly patch for system as root wait emmc ready. */
+ while (!res && wait--) {
+ res = blk_lookup_devt("mmcblk0", 0);
+ msleep(100);
+ };
+ pr_info("%s() wait %d\n", __func__, wait);
+#endif /* CONFIG_AMLOGIC_MODIFY */
/*
* wait for the known devices to complete their probing
*