From owner-freebsd-current@FreeBSD.ORG Tue Aug 31 23:35:55 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 70B5C16A4CE for ; Tue, 31 Aug 2004 23:35:55 +0000 (GMT) Received: from linwhf.opal.com (81.79.171.66.subscriber.vzavenue.net [66.171.79.81]) by mx1.FreeBSD.org (Postfix) with ESMTP id 72EF243D5C for ; Tue, 31 Aug 2004 23:35:54 +0000 (GMT) (envelope-from jr@opal.com) Received: (jr@localhost) by linwhf.opal.com (8.13.1/jr6.1/Submit) for id i7VNZh1G000990; Tue, 31 Aug 2004 19:35:43 -0400 (EDT) Date: Tue, 31 Aug 2004 19:35:43 -0400 From: "J.R. Oldroyd" To: =?iso-8859-1?Q?S=F8ren?= Schmidt Message-ID: <20040831233543.GA836@linwhf.opal.com> References: <412F5A10.8080907@drexel.edu> <412F7292.6000804@DeepCore.dk> <20040830181540.GA809@linwhf.opal.com> <413372B3.5010603@DeepCore.dk> <20040830192224.GB809@linwhf.opal.com> <413390B9.5050705@DeepCore.dk> <20040831144205.GA817@linwhf.opal.com> <4134DE3C.7080303@DeepCore.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4134DE3C.7080303@DeepCore.dk> User-Agent: Mutt/1.4.2.1i cc: current@freebsd.org Subject: Re: Current 8/27/2004, DVD problems 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: Tue, 31 Aug 2004 23:35:55 -0000 Afraid not. Just to confirm since my line numbers seem to be a few off yours... I have: __FBSDID("$FreeBSD: src/sys/dev/ata/ata-lowlevel.c,v 1.46 2004/08/27 22:14:45 sos Exp $"); And after adding the extra call to ata_wait() there are now TWO ata_wait()s: int ata_generic_command(struct ata_device *atadev, u_int8_t command, u_int64_t lba, u_int16_t count, u_int16_t feature) { if (atadebug) ata_prtdev(atadev, "ata_command: addr=%04lx, command=%02x, " "lba=%jd, count=%d, feature=%d\n", rman_get_start(atadev->channel->r_io[ATA_DATA].res), command, (intmax_t)lba, count, feature); /* ready to issue command ? */ if (ata_wait(atadev, 0) < 0) { ata_prtdev(atadev, "timeout waiting for ready command=%02x\n", command); return -1; } /* select device */ ATA_IDX_OUTB(atadev->channel, ATA_DRIVE, ATA_D_IBM | atadev->unit); /* ready to issue command ? */ if (ata_wait(atadev, 0) < 0) { ata_prtdev(atadev, "timeout sending command=%02x\n", command); return -1; } /* enable interrupt */ ATA_IDX_OUTB(atadev->channel, ATA_ALTSTAT, ATA_A_4BIT); Same result. Hangs at the CD probe with a normal boot. Hangs also in verbose mode with a disc in. Does boot in verbose mode with no disc in. -jr On Aug 31, 22:23, Søren Schmidt wrote: > J.R. Oldroyd wrote: > >Some follow-up. > > > >Similar to other folks with this problem, the system will boot in > >verbose mode. However, ONLY with no medium. If medium is present, > >it still hangs. If the tray is empty, it will boot in either DMA or > >PIO mode. And if I then insert a disc, I can read it OK. > > Hmm does the attached patch change behavior in any way ? > > -Søren > Index: ata-lowlevel.c > =================================================================== > RCS file: /home/ncvs/src/sys/dev/ata/ata-lowlevel.c,v > retrieving revision 1.44 > diff -u -r1.44 ata-lowlevel.c > --- ata-lowlevel.c 16 Aug 2004 09:32:35 -0000 1.44 > +++ ata-lowlevel.c 24 Aug 2004 07:25:32 -0000 > @@ -721,6 +721,12 @@ > rman_get_start(atadev->channel->r_io[ATA_DATA].res), > command, (intmax_t)lba, count, feature); > > + /* ready to issue command ? */ > + if (ata_wait(atadev, 0) < 0) { > + ata_prtdev(atadev, "timeout waiting for ready command=%02x\n", command); > + return -1; > + } > + > /* select device */ > ATA_IDX_OUTB(atadev->channel, ATA_DRIVE, ATA_D_IBM | atadev->unit); >