summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2007-04-10 14:26:18 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2007-04-10 14:26:18 +0000
commit1751a878b7ee7a4e7940004164313202e10a517c (patch)
treeb73e5e62461483af7687cc1b448c9e94549be3cb /sys/arch/sparc64
parenta2ff738e45af993b77666e47106bb8c5689b8e28 (diff)
Prevent infinite loop mapping interrupts when "reg" property is missing.
ok mbalmer@, dlg@
Diffstat (limited to 'sys/arch/sparc64')
-rw-r--r--sys/arch/sparc64/sparc64/ofw_machdep.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/arch/sparc64/sparc64/ofw_machdep.c b/sys/arch/sparc64/sparc64/ofw_machdep.c
index 76b6ea40dc2..906a7927dde 100644
--- a/sys/arch/sparc64/sparc64/ofw_machdep.c
+++ b/sys/arch/sparc64/sparc64/ofw_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ofw_machdep.c,v 1.17 2007/04/06 22:38:14 kettenis Exp $ */
+/* $OpenBSD: ofw_machdep.c,v 1.18 2007/04/10 14:26:17 kettenis Exp $ */
/* $NetBSD: ofw_machdep.c,v 1.16 2001/07/20 00:07:14 eeh Exp $ */
/*
@@ -866,11 +866,10 @@ OF_mapintr(int node, int *interrupt, int validlen, int buflen)
}
/* Get reg for the next level search. */
- if ((len = OF_getprop(node, "reg", &reg, sizeof(reg))) <= 0) {
+ if ((len = OF_getprop(node, "reg", &reg, sizeof(reg))) <= 0)
DPRINTF(("OF_mapintr: no reg property?\n"));
- continue;
- }
- DPRINTF(("reg len %d\n", len));
+ else
+ DPRINTF(("reg len %d\n", len));
node = OF_parent(node);
}