From owner-freebsd-stable Sun Dec 29 3:37:56 2002 Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D478437B401; Sun, 29 Dec 2002 03:37:53 -0800 (PST) Received: from melusine.cuivre.fr.eu.org (melusine.cuivre.fr.eu.org [62.212.105.185]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3B72243E4A; Sun, 29 Dec 2002 03:37:53 -0800 (PST) (envelope-from thomas@FreeBSD.ORG) Received: by melusine.cuivre.fr.eu.org (Postfix, from userid 1000) id 56BBE2C3D1; Sun, 29 Dec 2002 12:37:46 +0100 (CET) Date: Sun, 29 Dec 2002 12:37:46 +0100 From: Thomas Quinot To: Roman Shterenzon Cc: freebsd-stable@freebsd.org, sos@freebsd.org Subject: Re: cdda2wav hangs ATAPI CDR Message-ID: <20021229113745.GA90892@melusine.cuivre.fr.eu.org> Reply-To: Thomas Quinot References: <20021225212947.O15796@alchemy.oven.org> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20021225212947.O15796@alchemy.oven.org> User-Agent: Mutt/1.4i X-message-flag: WARNING! Using Outlook can damage your computer. Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Le 2002-12-25, Roman Shterenzon écrivait : > 1001 15780 15044 0 -6 0 1528 872 cbwait DL+ p6 0:00.00 cdda2wav -x Hum that looks awfully like a race condition between the CAM layer and the ATAPI code. As a work-around you can try to reinitialize both using 'atacontrol reinit'. If you have no other SCSI devices, it would also be interesting if you could try whether the enclosed patch works around this problem. Thomas. Index: cam_periph.c =================================================================== RCS file: /home/ncvs/src/sys/cam/cam_periph.c,v retrieving revision 1.24.2.2 diff -u -r1.24.2.2 cam_periph.c --- cam_periph.c 22 Sep 2002 07:15:32 -0000 1.24.2.2 +++ cam_periph.c 29 Dec 2002 11:36:36 -0000 @@ -717,7 +717,7 @@ { int s; - s = splsoftcam(); + s = splbio(); if ((ccb->ccb_h.pinfo.index != CAM_UNQUEUED_INDEX) || ((ccb->ccb_h.status & CAM_STATUS_MASK) == CAM_REQ_INPROG)) tsleep(&ccb->ccb_h.cbfcnp, PRIBIO, "cbwait", 0); -- Thomas.Quinot@Cuivre.FR.EU.ORG To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message