From owner-freebsd-bugs@FreeBSD.ORG Sat Sep 27 05:00:36 2003 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B04E016A4D5 for ; Sat, 27 Sep 2003 05:00:36 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id AB65443F93 for ; Sat, 27 Sep 2003 05:00:26 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h8RC0QFY028027 for ; Sat, 27 Sep 2003 05:00:26 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h8RC0Q1B028026; Sat, 27 Sep 2003 05:00:26 -0700 (PDT) (envelope-from gnats) Date: Sat, 27 Sep 2003 05:00:26 -0700 (PDT) Message-Id: <200309271200.h8RC0Q1B028026@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Ian Dowse Subject: Re: misc/57104: boot/usb: boot freezes during USB devices detection X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Ian Dowse List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Sep 2003 12:00:36 -0000 The following reply was made to PR misc/57104; it has been noted by GNATS. From: Ian Dowse To: freebsd-gnats-submit@FreeBSD.org Cc: Subject: Re: misc/57104: boot/usb: boot freezes during USB devices detection Date: Sat, 27 Sep 2003 12:55:14 +0100 In message <20030923171546.GA365@Psyllobora>, nivit@libero.it writes: >> >Description: >> >> the boot stops during USB devices detection >> [...] > >(Waiting for an official solution), you can solve this problem, >replacing the following files with their old version: > >sys/kern/subr_taskqueue.c (1.3.2.2 -> 1.3.2.1) >sys/sys/taskqueue.h sys.orig/sys/taskqueue.h (1.1.2.3 -> 1.1.2.2) As a followup, the submitter reports that the hang is cured by the following patch. Ian Index: kern_fork.c =================================================================== RCS file: /home/iedowse/CVS/src/sys/kern/kern_fork.c,v retrieving revision 1.72.2.14 diff -u -r1.72.2.14 kern_fork.c --- kern_fork.c 26 Jun 2003 04:15:10 -0000 1.72.2.14 +++ kern_fork.c 26 Sep 2003 08:26:31 -0000 @@ -183,7 +183,7 @@ struct proc *p2, *pptr; uid_t uid; struct proc *newproc; - int ok; + int ok, s; static int curfail = 0, pidchecked = 0; static struct timeval lastfail; struct forklist *ep; @@ -544,10 +544,10 @@ */ microtime(&(p2->p_stats->p_start)); p2->p_acflag = AFORK; - (void) splhigh(); + s = splhigh(); p2->p_stat = SRUN; setrunqueue(p2); - (void) spl0(); + splx(s); /* * Now can be swapped.