Aucbvax.5390
net.2bsd-bugs
utzoo!decvax!ucbvax!dist2
Sun Dec  6 02:50:47 1981
FIX:  to kernel/sys/dev/xp.c

       I had problems getting reports of disk errors printed on the
       system console when we had a bad spot on a disk pack that we
       were using.  It appears that the recalibrate function that is
       issued clears positioning in progress significantly long before
       it actually returns the drive to a device ready state.  We are
       using the Emulex SC70 controller on a CDC9766 drive.
       Unfortunately, we do not have any DEC disk drives left so I do
       not know if the problem extends to these devices also.

There doesn't seem to be any harm in changing all instances in which the
driver waits for PIP to go off so that the driver also waits for the drive
to assert DRY.  The appropriate changes are:

       diff kernel/sys/dev/xp.c.old kernel/sys/dev/xp.c
       456c456
       xpds & PIP)
       ---
       >               while((XPADDR->xpds & (PIP|DRY)) != DRY)
       512c512
       xpds & PIP)
       ---
       >                               while((XPADDR->xpds & (PIP|DRY)) != DRY)
       519c519
       xpds & PIP)
       ---
       >                               while((XPADDR->xpds & (PIP|DRY)) != DRY)

These changes should be made to all tapes written before 12/3/81.  I have
not received an answer from DEC as to whether this might happen on any of
their disks.

                       Carl

-----------------------------------------------------------------
gopher://quux.org/ conversion by John Goerzen <[email protected]>
of http://communication.ucsd.edu/A-News/


This Usenet Oldnews Archive
article may be copied and distributed freely, provided:

1. There is no money collected for the text(s) of the articles.

2. The following notice remains appended to each copy:

The Usenet Oldnews Archive: Compilation Copyright (C) 1981, 1996
Bruce Jones, Henry Spencer, David Wiseman.