Subject: Re: recent cd-rom trouble
To: Paul Kranenburg <pk@cs.few.eur.nl>
From: Charles M. Hannum <mycroft@mit.edu>
List: port-sparc
Date: 11/07/1997 18:59:23
I spent some time looking at this problem on a SS4/110 and a SS5/70
here.  (It doesn't seem to happen on a SS5/170 with the same model
CD-ROM drive.)

I added some extra debugging code and found that the initial probe for
the disk was losing on the TEST UNIT READY command, after it returned
CHECK CONDITION, while trying to do the REQUEST SENSE command.  For
some reason, it never gets an interrupt from the SCSI controller after
the sense information has been transferred.  (I also noted that it
only sends 18 bytes of sense information.  When I modified the driver
to only request 18 bytes, not only did I not get a SCSI interrupt, but
I failed to even get a DMA completion interrupt, even though the DMA
controller's byte count did reach 0.)  It then fails to do the abort
(in part due to an omission in ncr53c9x_select() that causes it to use
`select with DMA' even when ECB_ABORT or ECB_RESET is set), times out,
resets the bus, and retries successfully.

*Occasionally* the probe will actually succeed and the drive will work
just fine in synchronous mode.

I haven't yet determined why I'm not getting an interrupt.