Subject: kern/1406: SDT-5000 needs looser revision check on quirks
To: None <gnats-bugs@gnats.netbsd.org>
From: John Kohl <jtk@kolvir.arlington.ma.us>
List: netbsd-bugs
Date: 08/25/1995 00:47:54
>Number:         1406
>Category:       kern
>Synopsis:       SDT-5000 needs looser revision check on quirks
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Aug 25 01:20:02 1995
>Last-Modified:
>Originator:     John Kohl
>Organization:
NetBSD Kernel Hackers `R` Us
>Release:        -current as of 25 August 1995
>Environment:
	
System: NetBSD pattern 1.0A NetBSD 1.0A (PATTERN) #83: Thu Aug 24 23:34:34 EDT 1995 jtk@pattern:/u1/NetBSD-current/src/sys/arch/i386/compile/PATTERN i386


>Description:
The SDT-5000 rev 3.26 needs SDEV_NOSYNCWIDE

>How-To-Repeat:
Try to use an SDT-5000 on an NCR scsi controller.  It will screw up sync
negotiation and make the SCSI bus stop working.

>Fix:

This fix loosens the check for the version number on SDT-5000
so that any 3.xx firmware will be marked as NOSYNCWIDE, and also puts
some #if 0 code under #ifdef SCSIDEBUG instead.

===================================================================
RCS file: scsi/RCS/scsiconf.c,v
retrieving revision 1.1
diff -c -r1.1 scsi/scsiconf.c
*** scsi/scsiconf.c	1995/08/25 03:20:32	1.1
--- scsi/scsiconf.c	1995/08/25 03:22:07
***************
*** 331,337 ****
  	{T_SEQUENTIAL, T_REMOV,
  	 "SONY    ", "SDT-2000        ", "2.09", SDEV_NOLUNS},
  	{T_SEQUENTIAL, T_REMOV,
! 	 "SONY    ", "SDT-5000        ", "3.17", SDEV_NOSYNCWIDE},
  	{T_SEQUENTIAL, T_REMOV,
  	 "TANDBERG", " TDC 3600       ", "",     SDEV_NOLUNS},
  	{T_SEQUENTIAL, T_REMOV,
--- 331,337 ----
  	{T_SEQUENTIAL, T_REMOV,
  	 "SONY    ", "SDT-2000        ", "2.09", SDEV_NOLUNS},
  	{T_SEQUENTIAL, T_REMOV,
! 	 "SONY    ", "SDT-5000        ", "3.", SDEV_NOSYNCWIDE},
  	{T_SEQUENTIAL, T_REMOV,
  	 "TANDBERG", " TDC 3600       ", "",     SDEV_NOLUNS},
  	{T_SEQUENTIAL, T_REMOV,
***************
*** 555,561 ****
  			continue;
  		priority += len;
  
! #if 0
  		printf("scsi_inqmatch: %d/%d/%d <%s, %s, %s>\n",
  		    priority, match->type, match->removable,
  		    match->vendor, match->product, match->revision);
--- 555,561 ----
  			continue;
  		priority += len;
  
! #ifdef SCSIDEBUG
  		printf("scsi_inqmatch: %d/%d/%d <%s, %s, %s>\n",
  		    priority, match->type, match->removable,
  		    match->vendor, match->product, match->revision);
>Audit-Trail:
>Unformatted: