diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2011-06-26 22:40:01 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2011-06-26 22:40:01 +0000 |
commit | faf5f1c428343fb3b63d0d5c8e1f3281e5fb096a (patch) | |
tree | f68032641ab88713a1e6a1d4e8db85a94c44fa65 /sys/arch/alpha | |
parent | e4406dbd9a603957bda0912007302178f3920008 (diff) |
if_downall() cannot be done MI in sys_reboot() because vfs_shutdown()
might need network (ie. nfs). Move the call to the MD boot() routines.
This cause for boot hangs diagnosed by kettenis.
Diffstat (limited to 'sys/arch/alpha')
-rw-r--r-- | sys/arch/alpha/alpha/machdep.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sys/arch/alpha/alpha/machdep.c b/sys/arch/alpha/alpha/machdep.c index 3e88b32afe3..8cb988c406d 100644 --- a/sys/arch/alpha/alpha/machdep.c +++ b/sys/arch/alpha/alpha/machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: machdep.c,v 1.132 2011/06/05 19:41:06 deraadt Exp $ */ +/* $OpenBSD: machdep.c,v 1.133 2011/06/26 22:39:58 deraadt Exp $ */ /* $NetBSD: machdep.c,v 1.210 2000/06/01 17:12:38 thorpej Exp $ */ /*- @@ -63,6 +63,7 @@ #include <sys/signalvar.h> #include <sys/kernel.h> #include <sys/proc.h> +#include <sys/socket.h> #include <sys/sched.h> #include <sys/buf.h> #include <sys/reboot.h> @@ -78,10 +79,13 @@ #include <sys/user.h> #include <sys/exec.h> #include <sys/exec_ecoff.h> -#include <uvm/uvm.h> #include <sys/sysctl.h> #include <sys/core.h> #include <sys/kcore.h> + +#include <net/if.h> +#include <uvm/uvm.h> + #include <machine/kcore.h> #ifndef NO_IEEE #include <machine/fpu.h> @@ -1013,6 +1017,7 @@ boot(howto) printf("WARNING: not updating battery clock\n"); } } + if_downall(); uvm_shutdown(); splhigh(); /* Disable interrupts. */ |