Locks up with CURRENT
Sam Leffler
sam at errno.com
Sat Oct 11 10:30:17 PDT 2003
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
More information about the freebsd-current
mailing list