Date: Tue, 13 Apr 1999 11:22:39 +0100 From: Brian Somers <brian@Awfulhak.org> To: S ren Schmidt <sos@FreeBSD.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/ata ata-all.c ata-disk.c ata-dma.c atapi-all.c atapi-cd.c atapi-fd.c atapi-tape.c Message-ID: <199904131022.LAA00581@keep.lan.Awfulhak.org> In-Reply-To: Your message of "Sat, 10 Apr 1999 11:53:37 PDT." <199904101853.LAA46668@freefall.freebsd.org>
index | next in thread | previous in thread | raw e-mail
Hi,
This change has given me quite a few problems on my machine. The
problems were there before, but didn't happen as consistently -
they'd happen ``every now and again''. After this change, a boot -s
followed by the root password and a <return> at the /bin/sh prompt
caused the problem.
The problem ?
Everything freezes and the disk light stays on solid. Even booting
to single user causes the problem (it's now a writing thing).
The fix (seems to work) ?
Index: atapi-all.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/ata/atapi-all.c,v
retrieving revision 1.6
diff -u -r1.6 atapi-all.c
--- atapi-all.c 1999/04/10 18:53:35 1.6
+++ atapi-all.c 1999/04/13 10:14:03
@@ -472,7 +472,7 @@
}
if (!(status & ATA_S_BSY) && (status & ATA_S_DRDY))
break;
- DELAY (10);
+ DELAY (100);
}
if (timeout <= 0)
return -1;
I don't know much about this stuff, but this fix smells a bit dodgy :-(
Disabling the DMA code with a return in dmainit() seems to remove the
problem too.
My hardware:
A Sony VAIO PCG-747
[.....]
Probing for devices on PCI bus 0:
chip0: <Intel 82439TX System Controller (MTXC)> rev 0x01 on pci0.0.0
chip1: <Intel 82371AB PCI to ISA bridge> rev 0x02 on pci0.7.0
ata-pci0: <Intel PIIX4 IDE controller> rev 0x01 on pci0.7.1
ata-pci0: Busmastering DMA supported
ata0 at 0x01f0 irq 14 on ata-pci0
ata1 at 0x0170 irq 15 on ata-pci0
chip2: <Intel 82371AB Power management controller> rev 0x02 on pci0.7.3
vga0: <NeoMagic NM2160 laptop SVGA controller> rev 0x01 int a irq 9 on pci0.8.0
pcic0: <Ricoh RL5C478 PCI-CardBus Brige> rev 0x03 int a irq 255 on pci0.10.0
pcic1: <Ricoh RL5C478 PCI-CardBus Brige> rev 0x03 int b irq 255 on pci0.10.1
[.....]
ata0: master: settting up UDMA2 mode on PIIX4 chip OK
ad0: <FUJITSU MHC2040AT/0819> ATA-3 disk at ata0 as master
ad0: 3909MB (8007552 sectors), 7944 cyls, 16 heads, 63 S/T, 512 B/S
ad0: piomode=4, dmamode=2, udmamode=2
ad0: 16 secs/int, 0 depth queue, DMA mode
acd0: <TOSHIBA CD-ROM XM-1802B/1615> CDROM drive at ata1 as master
acd0: drive speed 4134KB/sec, 128KB cache
acd0: supported read types: CD-R, CD-RW, CD-DA
acd0: Audio: play, 16 volume levels
acd0: Mechanism: ejectable tray
acd0: Medium: CD-ROM 120mm audio disc loaded, unlocked
[.....]
Cheers.
> sos 1999/04/10 11:53:37 PDT
>
> Modified files:
> sys/dev/ata ata-all.c ata-disk.c ata-dma.c
> atapi-all.c atapi-cd.c atapi-fd.c
> atapi-tape.c
> Log:
> Sixth update to the new ATA/ATAPI driver:
>
> Fixed problems:
>
> Promise controllers was not always set up correctly.
> Parantheses are a good thing, fixed.
>
> Some older CDROM's could hang the probe.
> Proberly wait for the drive to catch its breath after IDENTIFY.
>
> Some CD writers fails because they dont support rezero.
> Rearranged the code to not use rezero.
>
> Warnings now that we use EGCS.
> Fixed.
>
> Revision Changes Path
> 1.6 +18 -11 src/sys/dev/ata/ata-all.c
> 1.6 +8 -11 src/sys/dev/ata/ata-disk.c
> 1.4 +3 -6 src/sys/dev/ata/ata-dma.c
> 1.6 +12 -6 src/sys/dev/ata/atapi-all.c
> 1.5 +8 -26 src/sys/dev/ata/atapi-cd.c
> 1.5 +2 -2 src/sys/dev/ata/atapi-fd.c
> 1.6 +3 -2 src/sys/dev/ata/atapi-tape.c
--
Brian <brian@Awfulhak.org> <brian@FreeBSD.org>
<http://www.Awfulhak.org> <brian@OpenBSD.org>
Don't _EVER_ lose your sense of humour ! <brian@uk.FreeBSD.org>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904131022.LAA00581>
