bug in 2.9bsd xp driver (fix)
dave at uwvax.ARPA
dave at uwvax.ARPA
Mon Jun 18 03:50:37 AEST 1984
Index: /usr/sys/dev/xp.c 2.9bsd
Description:
When autoconfiguring, the xp driver doesn't kick the controller
or wait for it to respond before evaluating whether the drive
it is searching for is actually there.
Repeat-By:
Try configuring a system with two controllers. I used a system
with an SI 9400 and an RM03. When configuring the SI drives
first the RM03 was not configured because the SI controller
said it had four drives instead of the two it actually had.
Fix:
Send a no-op to the controller (a GO without any operation) and
loop for a while to let the controller respond to the query.
The line numbers may be different in your version.
*** xp.c.orig Fri Jun 8 12:30:13 1984
--- xp.c Sun Jun 10 21:26:15 1984
***************
*** 132,137
for (j = 0; j < 8; j++) {
xpaddr->hpcs1.w = 0;
xpaddr->hpcs2.w = j;
dummy = xpaddr->hpds;
if (xpaddr->hpcs2.w & HPCS2_NED) {
xpaddr->hpcs2.w = HPCS2_CLR;
--- 132,139 -----
for (j = 0; j < 8; j++) {
xpaddr->hpcs1.w = 0;
xpaddr->hpcs2.w = j;
+ xpaddr->hpcs1.w = HP_GO; /* testing, testing... */
+ { register x = 0; while (++x < 2000); } /* DELAY */
dummy = xpaddr->hpds;
if (xpaddr->hpcs2.w & HPCS2_NED) {
xpaddr->hpcs2.w = HPCS2_CLR;
--
Dave Cohrs @ wisconsin
...!{allegra,heurikon,ihnp4,seismo,sfwin,ucbvax,uwm-evax}!uwvax!dave
dave at wisc-rsch.arpa
More information about the Comp.bugs.2bsd
mailing list