16.5 rkintr (5451)

This procedure is invoked to handle the interrupts which occur when RK disk operations are completed.

5455:

Check for a false alarm!

5459:

Inspect the error bit; if set ...

5460:

Call “deverror” (2447) to display a message on the system console terminal;

5461:

Clear the internal registers of the disk controller and ...

5462:

Wait till this is completed (usually a few microseconds);

5463:

If the operation has been retried less than ten times, call “rkstart” to try again. Otherwise give up and report an error;

5469:

Set the “retry” (!) count back to zero, remove the current operation from the “actf” list, and complete the operation by calling “iodone”;

5472:

“rkstart” is called unconditionally here. If the call is not necessary (because the “actf” list is empty) “rkstart” will return immediately (5444).