diff options
author | 2020-07-04 13:01:16 +0000 | |
---|---|---|
committer | 2020-07-04 13:01:16 +0000 | |
commit | 6690d8f5723bbee28dc1dc2ec65c8abc3a843cf3 (patch) | |
tree | 8fbe59dd94562cbc42ead94a7e71dacda0da5f3c | |
parent | Avoid malloc(3) calls in signal handler (diff) | |
download | wireguard-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.c | 4 | ||||
-rw-r--r-- | sys/arch/arm64/dev/mainbus.c | 11 |
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)) |