summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-09-25 14:10:29 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-09-25 14:10:29 +0000
commit0bc3ef4da4b50b0b2b1a990677df84bafa80f70d (patch)
tree2b4b652c21bd33bccd85a78e591dcf3264f17b09
parentf96e9f65bfa00a9b505d08ddca497f4db7520db4 (diff)
kernel: if block2mtd does not find the device immediately, use wait_for_device_probe() before trying again (should fix squashfs/jffs2 image boot issues), patch from #5216
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17720 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/generic-2.6/patches-2.6.30/066-block2mtd_probe.patch10
-rw-r--r--target/linux/generic-2.6/patches-2.6.31/066-block2mtd_probe.patch10
2 files changed, 20 insertions, 0 deletions
diff --git a/target/linux/generic-2.6/patches-2.6.30/066-block2mtd_probe.patch b/target/linux/generic-2.6/patches-2.6.30/066-block2mtd_probe.patch
new file mode 100644
index 000000000..3a42f35fb
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.30/066-block2mtd_probe.patch
@@ -0,0 +1,10 @@
+--- a/drivers/mtd/devices/block2mtd.c
++++ b/drivers/mtd/devices/block2mtd.c
+@@ -268,6 +268,7 @@
+ /* We might not have rootfs mounted at this point. Try
+ to resolve the device name by other means. */
+
++ wait_for_device_probe();
+ dev_t devt = name_to_dev_t(dev->devname);
+ if (devt) {
+ bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);
diff --git a/target/linux/generic-2.6/patches-2.6.31/066-block2mtd_probe.patch b/target/linux/generic-2.6/patches-2.6.31/066-block2mtd_probe.patch
new file mode 100644
index 000000000..3a42f35fb
--- /dev/null
+++ b/target/linux/generic-2.6/patches-2.6.31/066-block2mtd_probe.patch
@@ -0,0 +1,10 @@
+--- a/drivers/mtd/devices/block2mtd.c
++++ b/drivers/mtd/devices/block2mtd.c
+@@ -268,6 +268,7 @@
+ /* We might not have rootfs mounted at this point. Try
+ to resolve the device name by other means. */
+
++ wait_for_device_probe();
+ dev_t devt = name_to_dev_t(dev->devname);
+ if (devt) {
+ bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);