mmc: core: wait while adding MMC host to ensure root mounts successfully
authorSergey Yanovich <ynvich@gmail.com>
Thu, 14 Mar 2013 01:23:13 +0000 (05:23 +0400)
committerChris Ball <cjb@laptop.org>
Fri, 22 Mar 2013 17:03:29 +0000 (13:03 -0400)
MMC hosts are added asynchronously. We need to wait until detect returns to
avoid failed root filesystem mounts.

VFS: Cannot open root device "mmcblk0p1" or unknown-block(0,0): error -6
Please append a correct "root=" boot option; here are the available partitions:
mmc0: host does not support reading read-only switch. assuming write-enable.
1f00             256 mtdblock0  (driver?)
1f01             256 mtdblock1  (driver?)
1f02            2560 mtdblock2 mmc0: new SDHC card at address b368
 (driver?)
1f03           29696 mtdblock3  (driver?)
1f04           16384 mtdblock4 mmcblk0: mmc0:b368 USD   3.72 GiB
 (driver?)
 mmcblk0: p1
b300         3910656 mmcblk0  driver: mmcblk
  b301         3906560 mmcblk0p1 00000000-01
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

Signed-off-by: Sergey Yanovich <ynvich@gmail.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
drivers/mmc/core/core.c

index 3bf1c46..ad7decc 100644 (file)
@@ -2418,6 +2418,7 @@ void mmc_start_host(struct mmc_host *host)
        host->rescan_disable = 0;
        mmc_power_up(host);
        mmc_detect_change(host, 0);
+       mmc_flush_scheduled_work();
 }
 
 void mmc_stop_host(struct mmc_host *host)