summaryrefslogtreecommitdiff
path: root/sys/kern/kern_xxx.c
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2011-06-26 22:40:01 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2011-06-26 22:40:01 +0000
commitfaf5f1c428343fb3b63d0d5c8e1f3281e5fb096a (patch)
treef68032641ab88713a1e6a1d4e8db85a94c44fa65 /sys/kern/kern_xxx.c
parente4406dbd9a603957bda0912007302178f3920008 (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/kern/kern_xxx.c')
-rw-r--r--sys/kern/kern_xxx.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/sys/kern/kern_xxx.c b/sys/kern/kern_xxx.c
index c03be03e462..41166b3e20c 100644
--- a/sys/kern/kern_xxx.c
+++ b/sys/kern/kern_xxx.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kern_xxx.c,v 1.18 2010/07/28 16:15:25 deraadt Exp $ */
+/* $OpenBSD: kern_xxx.c,v 1.19 2011/06/26 22:40:00 deraadt Exp $ */
/* $NetBSD: kern_xxx.c,v 1.32 1996/04/22 01:38:41 christos Exp $ */
/*
@@ -74,8 +74,6 @@ sys_reboot(struct proc *p, void *v, register_t *retval)
sched_stop_secondary_cpus();
#endif
- if_downall();
-
boot(SCARG(uap, opt));
atomic_clearbits_int(&p->p_flag, P_CPUPEG); /* XXX */