We have to start searching for the mtd node starting in the given root node not the defaukt (= barebox internal) one. This means the internal DT is always fixed up. This leads to booting not fixed up DT when using external DTs. This patch fixes the problem. Signed-off-by: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx> --- drivers/mtd/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mtd/core.c b/drivers/mtd/core.c index 63b1e4a824fa..0197d2c8a3e1 100644 --- a/drivers/mtd/core.c +++ b/drivers/mtd/core.c @@ -488,7 +488,7 @@ static int of_mtd_fixup(struct device_node *root, void *ctx) struct device_node *np, *part, *tmp; int ret, i = 0; - np = of_find_node_by_path(mtd->of_path); + np = of_find_node_by_path_from(root, mtd->of_path); if (!np) { dev_err(&mtd->class_dev, "Cannot find nodepath %s, cannot fixup\n", mtd->of_path); -- 2.1.4 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox