summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2017-11-17 20:30:43 +0000
committerkettenis <kettenis@openbsd.org>2017-11-17 20:30:43 +0000
commitba897569c78c932b1b23d59d1ac5b895038736f4 (patch)
tree8bb8239663f41bb00b6614a7eba3c075869df6dd
parentadd some missing markup; from artturi alm (diff)
downloadwireguard-openbsd-ba897569c78c932b1b23d59d1ac5b895038736f4.tar.xz
wireguard-openbsd-ba897569c78c932b1b23d59d1ac5b895038736f4.zip
Make OF_getnodebyname() scan its child nodes instead of its peer nodes.
This still deviates from the implementation we have on macppc, but we only ever use OF_getnodebyname() to find child nodes in our tree. ok tom@, visa@
-rw-r--r--sys/dev/ofw/fdt.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/dev/ofw/fdt.c b/sys/dev/ofw/fdt.c
index d6a64499e88..82ef499d921 100644
--- a/sys/dev/ofw/fdt.c
+++ b/sys/dev/ofw/fdt.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: fdt.c,v 1.20 2017/03/12 11:44:42 kettenis Exp $ */
+/* $OpenBSD: fdt.c,v 1.21 2017/11/17 20:30:43 kettenis Exp $ */
/*
* Copyright (c) 2009 Dariusz Swiderski <sfires@sfires.net>
@@ -773,11 +773,9 @@ OF_getnodebyname(int handle, const char *name)
if (handle == 0)
node = fdt_find_node("/");
- while (node) {
+ for (node = fdt_child_node(node); node; node = fdt_next_node(node)) {
if (strcmp(name, fdt_node_name(node)) == 0)
break;
-
- node = fdt_next_node(node);
}
return node ? ((char *)node - (char *)tree.header) : 0;