aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2009-09-25 14:10:29 +0000
committerFelix Fietkau <nbd@openwrt.org>2009-09-25 14:10:29 +0000
commita2f344ec8496c8641e97e41e825f3bd464a45a6c (patch)
tree201103b7f80e9d32cf80794669774fc316a2dad1 /target/linux
parent49ec2321b7bcea4c0378aab1c5006e6d77d64d26 (diff)
downloadupstream-a2f344ec8496c8641e97e41e825f3bd464a45a6c.tar.gz
upstream-a2f344ec8496c8641e97e41e825f3bd464a45a6c.tar.bz2
upstream-a2f344ec8496c8641e97e41e825f3bd464a45a6c.zip
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
SVN-Revision: 17720
Diffstat (limited to 'target/linux')
-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 0000000000..3a42f35fb8
--- /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 0000000000..3a42f35fb8
--- /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);