Merge cherrypicks of [5331139] into nyc-iot-release
Change-Id: I1be82404b268912408577a9a8eb2fb07c55832e8
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c
index b3d78bb..2dabf6f 100644
--- a/drivers/md/dm-table.c
+++ b/drivers/md/dm-table.c
@@ -672,6 +672,7 @@
sector_t start, sector_t len, char *params)
{
int r = -EINVAL, argc;
+ int wait_device_count = 360;
char **argv;
struct dm_target *tgt;
@@ -748,6 +749,22 @@
goto bad;
}
+#ifdef CONFIG_ARCH_ROCKCHIP
+ while (argv &&
+ strncmp(argv[1], "PARTUUID=", 9) == 0 &&
+ name_to_dev_t(argv[1]) == 0) {
+ DMINFO("%s: %s: Waiting for device %s ...",
+ dm_device_name(t->md), type, argv[1]);
+ msleep(100);
+ if (!wait_device_count) {
+ DMWARN("%s: %s: Wait for device %s Timeout",
+ dm_device_name(t->md), type, argv[1]);
+ break;
+ }
+ --wait_device_count;
+ }
+#endif
+
r = tgt->type->ctr(tgt, argc, argv);
kfree(argv);
if (r)