summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2020-07-04 13:01:16 +0000
committerkettenis <kettenis@openbsd.org>2020-07-04 13:01:16 +0000
commit6690d8f5723bbee28dc1dc2ec65c8abc3a843cf3 (patch)
tree8fbe59dd94562cbc42ead94a7e71dacda0da5f3c
parentAvoid malloc(3) calls in signal handler (diff)
downloadwireguard-openbsd-6690d8f5723bbee28dc1dc2ec65c8abc3a843cf3.tar.xz
wireguard-openbsd-6690d8f5723bbee28dc1dc2ec65c8abc3a843cf3.zip
OF_finddevice() returns -1 upon failure. Fix various checks of the return
value. Makes things work again on the rpi3. ok jsg@
-rw-r--r--sys/arch/arm64/dev/efi.c4
-rw-r--r--sys/arch/arm64/dev/mainbus.c11
2 files changed, 8 insertions, 7 deletions
diff --git a/sys/arch/arm64/dev/efi.c b/sys/arch/arm64/dev/efi.c
index 6553a12cd82..e93c055a82a 100644
--- a/sys/arch/arm64/dev/efi.c
+++ b/sys/arch/arm64/dev/efi.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: efi.c,v 1.7 2019/08/04 09:27:09 kettenis Exp $ */
+/* $OpenBSD: efi.c,v 1.8 2020/07/04 13:01:16 kettenis Exp $ */
/*
* Copyright (c) 2017 Mark Kettenis <kettenis@openbsd.org>
@@ -94,7 +94,7 @@ efi_attach(struct device *parent, struct device *self, void *aux)
int node, i;
node = OF_finddevice("/chosen");
- KASSERT(node);
+ KASSERT(node != -1);
system_table = OF_getpropint64(node, "openbsd,uefi-system-table", 0);
KASSERT(system_table);
diff --git a/sys/arch/arm64/dev/mainbus.c b/sys/arch/arm64/dev/mainbus.c
index 0304dd8e6ba..18ebf9c5f64 100644
--- a/sys/arch/arm64/dev/mainbus.c
+++ b/sys/arch/arm64/dev/mainbus.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mainbus.c,v 1.17 2020/06/17 08:00:22 kettenis Exp $ */
+/* $OpenBSD: mainbus.c,v 1.18 2020/07/04 13:01:16 kettenis Exp $ */
/*
* Copyright (c) 2016 Patrick Wildt <patrick@blueri.se>
* Copyright (c) 2017 Mark Kettenis <kettenis@openbsd.org>
@@ -316,7 +316,7 @@ mainbus_attach_cpus(struct device *self, cfmatch_t match)
int acells, scells;
char buf[32];
- if (node == 0)
+ if (node == -1)
return;
acells = sc->sc_acells;
@@ -369,7 +369,7 @@ mainbus_attach_psci(struct device *self)
struct mainbus_softc *sc = (struct mainbus_softc *)self;
int node = OF_finddevice("/psci");
- if (node == 0)
+ if (node == -1)
return;
sc->sc_early = 1;
@@ -384,7 +384,8 @@ mainbus_attach_efi(struct device *self)
struct fdt_attach_args fa;
int node = OF_finddevice("/chosen");
- if (node == 0 || OF_getproplen(node, "openbsd,uefi-system-table") <= 0)
+ if (node == -1 ||
+ OF_getproplen(node, "openbsd,uefi-system-table") <= 0)
return;
memset(&fa, 0, sizeof(fa));
@@ -410,7 +411,7 @@ mainbus_attach_framebuffer(struct device *self)
{
int node = OF_finddevice("/chosen");
- if (node == 0)
+ if (node == -1)
return;
for (node = OF_child(node); node != 0; node = OF_peer(node))