From owner-freebsd-current@FreeBSD.ORG Sun Jul 25 13:41:44 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3908116A4CE; Sun, 25 Jul 2004 13:41:44 +0000 (GMT) Received: from mimoza.pantel.net (mimoza.pantel.net [212.24.191.200]) by mx1.FreeBSD.org (Postfix) with ESMTP id F30A943D2D; Sun, 25 Jul 2004 13:41:43 +0000 (GMT) (envelope-from arutz@mimoza.pantel.net) Received: by mimoza.pantel.net (Postfix, from userid 1000) id 831ED10F19; Sun, 25 Jul 2004 15:41:42 +0200 (CEST) Date: Sun, 25 Jul 2004 15:41:42 +0200 From: Antal Rutz To: current@freebsd.org Message-ID: <20040725134142.GA28739@mimoza.pantel.net> References: <1090364563.728.3.camel@klamath.syndrom23.de> <38a23c3604072109046e63cdd9@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <38a23c3604072109046e63cdd9@mail.gmail.com> User-Agent: Mutt/1.4.2i cc: sos@freebsd.org Subject: Re: FAILURE - ATAPI_RESET no interrupt in newer current X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 Jul 2004 13:41:44 -0000 On Wed, Jul 21, Joseph Peterson wrote: > I have the same issue, err well similar.... > ata1-master: FAILURE - ATAPI_RESET no interrupt > acd0: CDRW at ata1-master PIO4 > This is on a Toshiba Satelite A25-S279. I've got a compaq nx9005, the same thing here. but it worked form me a week ago. now it panics in ata_generic_transaction (ata-lowlevel.c). I have to do 2 things to make it work: Either: boot without acpi Or: remove the following code from ata-lowlevel.c (committed on 24th Juli) /* device reset doesn't interrupt */ if (request->u.ata.command == ATA_ATAPI_RESET) { int timeout = 1000000; do { DELAY(10); request->status = ATA_IDX_INB(ch, ATA_STATUS); } while (request->status & ATA_S_BUSY && timeout--); if (timeout) printf("ATAPI_RESET time = %dus\n", (1000000-timeout)*10); else printf("ATAPI_RESET timeout\n"); if (request->status & ATA_S_ERROR) { request->error = ATA_IDX_INB(ch, ATA_ERROR); //request->result = EIO; } break; } How can I help further to analize the problem? -- --rutz