Skip site navigation (1)Skip section navigation (2)
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> 

next in thread | previous in thread | raw e-mail | index | archive | help
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
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
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 <=3D 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 pc=
i0.8.0
pcic0: <Ricoh RL5C478 PCI-CardBus Brige> rev 0x03 int a irq 255 on pci0.1=
0.0
pcic1: <Ricoh RL5C478 PCI-CardBus Brige> rev 0x03 int b irq 255 on pci0.1=
0.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=3D4, dmamode=3D2, udmamode=3D2
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 IDENTIF=
Y.
>   =

>       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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904131022.LAA00581>