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 0000000000000000000000000000000000000000..3a42f35fb8d128179dce6e9646de47afaf1dd8dd
--- /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 0000000000000000000000000000000000000000..3a42f35fb8d128179dce6e9646de47afaf1dd8dd
--- /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);