Text File

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 <jgoerzen@complete.org> 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.