[U-Boot] [PATCH] mtd: uboot: Fix hanging during mtd list command
Adam Ford
aford173 at gmail.com
Mon Oct 8 18:23:06 UTC 2018
Some boards using simple NAND drivers (like omap3_logic) hang
when executing the new 'mtd list' command. This patch enhances
the checks for conditions that would preclude mtd_probe_devices()
from operating.
Fixes: 5db66b3aee6f ("cmd: mtd: add 'mtd' command")
Signed-off-by: Adam Ford <aford173 at gmail.com>
diff --git a/drivers/mtd/mtd_uboot.c b/drivers/mtd/mtd_uboot.c
index 6a211d52ff..91a4a8a9c0 100644
--- a/drivers/mtd/mtd_uboot.c
+++ b/drivers/mtd/mtd_uboot.c
@@ -104,7 +104,14 @@ int mtd_probe_devices(void)
mtd_probe_uclass_mtd_devs();
/* Check if mtdparts/mtdids changed since last call, otherwise: exit */
- if (!strcmp(mtdparts, old_mtdparts) && !strcmp(mtdids, old_mtdids))
+ if ((!mtdparts && !old_mtdparts && !mtdids && !old_mtdids) ||
+ (mtdparts && old_mtdparts && mtdids && old_mtdids &&
+ !strcmp(mtdparts, old_mtdparts) &&
+ !strcmp(mtdids, old_mtdids)))
+ return 0;
+
+ /* If either mtdparts or mtdids is empty, then exit */
+ if (!mtdparts || !mtdids)
return 0;
/* Update the local copy of mtdparts */
--
2.17.1
More information about the U-Boot
mailing list