]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - init/do_mounts_md.c
fastboot: make the raid autodetect code wait for all devices to init
[linux-2.6-omap-h63xx.git] / init / do_mounts_md.c
index 7473b0c59d4dd11c438bd4808c0044caba4e7a33..c0412a9dc003cd76c2591644c98106c67d488b83 100644 (file)
@@ -24,7 +24,6 @@ static struct {
 
 static int md_setup_ents __initdata;
 
-extern int mdp_major;
 /*
  * Parse the command-line parameters given our kernel, but do not
  * actually try to invoke the MD device now; that is handled by
@@ -268,9 +267,16 @@ __setup("md=", md_setup);
 void __init md_run_setup(void)
 {
        create_dev("/dev/md0", MKDEV(MD_MAJOR, 0));
+
        if (raid_noautodetect)
                printk(KERN_INFO "md: Skipping autodetection of RAID arrays. (raid=noautodetect)\n");
        else {
+               /* 
+                * Since we don't want to detect and use half a raid array, we need to
+                * wait for the known devices to complete their probing
+                */
+               while (driver_probe_done() != 0)
+                       msleep(100);
                int fd = sys_open("/dev/md0", 0, 0);
                if (fd >= 0) {
                        sys_ioctl(fd, RAID_AUTORUN, raid_autopart);