Date: Sat, 11 Oct 2003 10:31:19 -0700 From: Sam Leffler <sam@errno.com> To: Antony T Curtis <antony.t.curtis@ntlworld.com>, freebsd-current@freebsd.org Subject: Re: Locks up with CURRENT Message-ID: <200310111031.19437.sam@errno.com> In-Reply-To: <1065867620.426.9.camel@pcgem.rdg.cyberkinetica.com> References: <1065864899.426.7.camel@pcgem.rdg.cyberkinetica.com> <1065867620.426.9.camel@pcgem.rdg.cyberkinetica.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Saturday 11 October 2003 03:20 am, Antony T Curtis wrote:
> On Sat, 2003-10-11 at 10:36, Antony T Curtis wrote:
> > Hi, I cvsuped at about 10/10/03 11PM GMT and rebuilt world and kernel.
> >
> > It locks up after displaying:
> >
> > GEOM: create disk ad0 dp=0xc456d370
> > ad0: 28615MB <TOSHIBA MK3021GAS> [58140/16/63] at ata0-master UDMA100
> > ata1: resetting devices ..
> > done
> >
> > System is a Toshiba Satellite 2455 notebook.
>
> Removing the CDRW drive allowed it to boot
I suspect this is the same problem I've encountered with a Toshiba DVD/CDRW
drive on a ServerWorks CSB5 controller. The following change re-enables some
code to workaround a missed interrupt and allows my system to boot::
diff ./ata-queue.c /data/devel/netperf/dev/ata/ata-queue.c
319c319
< #if 0
---
> #if 1
However the Toshiba drive is not recognized. If after booting I do:
atacontrol reinit 1
I sometimes get the drive properly probed. sos sent me the following change
to try but I still haven't gotten to it. Beware that it's probably out of
date wrt current source:
Index: ata-lowlevel.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/ata-lowlevel.c,v
retrieving revision 1.16
diff -u -r1.16 ata-lowlevel.c
--- ata-lowlevel.c 20 Sep 2003 08:38:33 -0000 1.16
+++ ata-lowlevel.c 26 Sep 2003 06:50:29 -0000
@@ -527,7 +527,8 @@
ATA_IDX_OUTB(ch, ATA_ALTSTAT, ATA_A_IDS | ATA_A_RESET);
DELAY(10000);
ATA_IDX_OUTB(ch, ATA_ALTSTAT, ATA_A_IDS);
- DELAY(10000);
+ DELAY(100000);
+ ATA_IDX_INB(ch, ATA_ERROR);
/* wait for BUSY to go inactive */
for (timeout = 0; timeout < 310; timeout++) {
Sam
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200310111031.19437.sam>
