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