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>