[PATCH] of: Fix of_find_node_by_path breakage

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch fixes breakage of of_find_node_by_path when
node not found in tree. This fault is caused, for example,
when no aliases is present in dtb.

barebox@ConnectCore i.MX51:/ oftree -d /env/mm.dtb
/ {
        model = "Freescale i.MX51 CCMX51";
        compatible = "fsl,imx51-ccmx51", "fsl,imx51";
        chosen {
        };
        cpus {
                cpu@0 {
                        compatible = "arm,cortex-a8";
                };
        };
};
barebox@ConnectCore i.MX51:/ oftree -p /env/mm.dtb
unable to handle NULL pointer dereference at address 0x00000000
pc : [<97f1f3f0>]    lr : [<97f19438>]
sp : 95eff988  ip : 00000001  fp : 97f43080
r10: 00000000  r9 : 97f4304c  r8 : 00000000
r7 : 00000000  r6 : e3510034  r5 : 00000001  r4 : 95f0eb28
r3 : 97f43054  r2 : 00000000  r1 : e1a0000b  r0 : 00000000
Flags: nzCv  IRQs off  FIQs off  Mode SVC_32

no stack data available

Signed-off-by: Alexander Shiyan <shc_work@xxxxxxx>
---
 drivers/of/base.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/of/base.c b/drivers/of/base.c
index 7a41618..576841d 100644
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
@@ -487,9 +487,9 @@ struct device_node *of_find_node_by_path(const char *path)
 
 	list_for_each_entry(np, &allnodes, list) {
 		if (np->full_name && (strcmp(np->full_name, path) == 0))
-			break;
+			return np;
 	}
-	return np;
+	return NULL;
 }
 EXPORT_SYMBOL(of_find_node_by_path);
 
-- 
1.7.3.4


_______________________________________________
barebox mailing list
barebox@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/barebox


[Index of Archives]     [Linux Embedded]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux