Subject: problems with clone disk cntl
To: None <port-vax@NetBSD.ORG>
From: None <rick@snowhite.cis.uoguelph.ca>
List: port-vax
Date: 04/16/1996 13:39:33
I don't know if this will be helpful, but..

Way back when (a decade ago), I bumped into a problem with a clone controller
making the uda.c of that era die and it turned out that the controller wasn't
bothering to fill in the "get unit status" fields very well. This resulted
in a crash when the driver tried to use the garbage fields (in my case, a
divide by zero). If someone has one of these controllers that fail, they
might want to check in the driver for any uses of the fields in
the "get unit status" return. (The fix in my case was to check for a non-zero
value before doing arithmetic on it and replace it by something reasonable
if it was zero.)

There are also a couple of oddball rules in the manual related to the
initialization steps that most drivers don't bother to conform to:
- "In the event of an initialization error, the port driver must retry the
   sequence at least once. It is suggested, however, that a second failure
   be considered as meaning that the port/controller is down."
-  "During initialization, the host must wait 100 microseconds after any
   interrupt before reading the SA register to see if there was an error."
   (Now, it is hard to believe that a uvaxII can handle an interrupt in
    less than 100 usec, but I vaguely recall needing a slight delay for
    some Dilog SCSI controller we had back then?)

Hopefully the above hints might help someone track down the driver problems
w.r.t. some of the clone controllers, rick