If we load a new device tree for linux kernel with a diferent layout, the fixup of partition going into endless loop. Exactly the of_find_property function will never come back on a invalid device_node. My patch check, if the device will exists on device tree before we run the fixup. Signed-off-by: Pascal Vizeli <pvizeli@xxxxxxxxxx> --- drivers/of/partition.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/of/partition.c b/drivers/of/partition.c index aa6e601b7..17e420964 100644 --- a/drivers/of/partition.c +++ b/drivers/of/partition.c @@ -140,6 +140,9 @@ static int of_partition_fixup(struct device_node *root, void *ctx) if (!cdev->device_node) return -EINVAL; + if (!of_find_node_by_path(cdev->device_node->full_name)) + return -EINVAL; + list_for_each_entry(partcdev, &cdev->partitions, partition_entry) { if (partcdev->flags & DEVFS_PARTITION_FROM_TABLE) continue; -- 2.17.1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox