From owner-cvs-all@FreeBSD.ORG Sun Sep 28 04:08:32 2003 Return-Path: Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4256616A4BF; Sun, 28 Sep 2003 04:08:32 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C7D6A44029; Sun, 28 Sep 2003 04:08:31 -0700 (PDT) (envelope-from iedowse@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h8SB8VXJ038710; Sun, 28 Sep 2003 04:08:31 -0700 (PDT) (envelope-from iedowse@repoman.freebsd.org) Received: (from iedowse@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h8SB8V3Z038709; Sun, 28 Sep 2003 04:08:31 -0700 (PDT) (envelope-from iedowse) Message-Id: <200309281108.h8SB8V3Z038709@repoman.freebsd.org> From: Ian Dowse Date: Sun, 28 Sep 2003 04:08:31 -0700 (PDT) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: RELENG_4 Subject: cvs commit: src/sys/kern kern_fork.c X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 28 Sep 2003 11:08:32 -0000 iedowse 2003/09/28 04:08:31 PDT FreeBSD src repository Modified files: (Branch: RELENG_4) sys/kern kern_fork.c Log: Save and restore the interrupt mask in fork1() instead of using spl0() and hence assuming that the old interrupt mask was zero. Although fork1() is normally called with a zero mask, one exception to this is when it is called by kthread_create() before configure() has unmasked interrupts for the first time. In that case it can cause interrupt storm hangs during device configuration, because interrupts can be delivered before the corresponding device drivers are ready to receive them. This should fix the boot-time USB hangs that have been reported. Approved by: re (murray) Revision Changes Path 1.72.2.15 +3 -3 src/sys/kern/kern_fork.c