Date: Tue, 31 Aug 2004 19:35:43 -0400 From: "J.R. Oldroyd" <fbsd@opal.com> To: =?iso-8859-1?Q?S=F8ren?= Schmidt <sos@DeepCore.dk> Cc: current@freebsd.org Subject: Re: Current 8/27/2004, DVD problems Message-ID: <20040831233543.GA836@linwhf.opal.com> In-Reply-To: <4134DE3C.7080303@DeepCore.dk> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
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); >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040831233543.GA836>