Subject: port-i386/5706: Broken aic driver (data overrums)
To: None <gnats-bugs@gnats.netbsd.org, bernd@arresum.inka.de, mjacob@NetBSD.ORG>
From: None <bernd@arresum.inka.de>
List: netbsd-bugs
Date: 07/04/1998 22:08:10
>Number:         5706
>Category:       port-i386
>Synopsis:       Broken aic driver (data overrums)
>Confidential:   no
>Severity:       critical
>Priority:       high
>Responsible:    gnats-admin (GNATS administrator)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jul  4 13:20:01 1998
>Last-Modified:
>Originator:     Bernd Ernesti
>Organization:
	
>Release:        NetBSD-current source Jul 4 21:54:07 MEST 1998
>Environment:
	
System: NetBSD parresum.inka.de 1.3F NetBSD 1.3F (PARRESUM) #270: Sat Jul 4 21:36:12 MEST 1998 root@:/home/source/obj_i386/src/sys/arch/i386/compile/PARRESUM i386


>Description:
	I get many data overrums from the aic driver after I updated
	today my kernel.

	sd1(ahc0:1:0): data overrun of 500 bytes detected.  Forcing a retry.

ahc0 at pci0 dev 11 function 0
ahc0: interrupting at irq 11
ahc0: aic7880 Wide Channel, SCSI Id=7, 16 SCBs
scsibus0 at ahc0 channel 0: 16 targets
ahc0: target 0 synchronous at 20.0MHz, offset = 0xf
sd0 at scsibus0 targ 0 lun 0: <IBM, DORS-32160, WA6A> SCSI2 0/direct fixed
sd0: 2063MB, 6703 cyl, 5 head, 126 sec, 512 bytes/sect x 4226725 sectors
ahc0: target 1 using 16Bit transfers
ahc0: target 1 synchronous at 20.0MHz, offset = 0x8
sd1 at scsibus0 targ 1 lun 0: <IBM, DCAS-34330W, S65A> SCSI2 0/direct fixed
sd1: 4134MB, 8205 cyl, 6 head, 171 sec, 512 bytes/sect x 8467200 sectors
ahc0: target 2 synchronous at 10.0MHz, offset = 0xf
cd0 at scsibus0 targ 2 lun 0: <NEC, CD-ROM DRIVE:462, 1.13> SCSI2 5/cdrom removable

>How-To-Repeat:
	I got the first one during a make in src/gnu/lib/bfd which was the cause
	this error:

building standard bfd library
/usr/bin/nm: /src/gnu/lib/bfd/../../dist/bfd/libbfd.c: File format not recognized
ranlib libbfd.a
ranlib: libbfd.a: Malformed archive
*** Error code 1

The next overruns accured during a linking of a new kernel to try an older
version of the aic driver. I had to boot an older kernel and build the new
kernel under the old one.
This was repeatable.

>Fix:
	Backout the recent changes to the aic driver.
	This are the source which don't have this problem.

/*      $NetBSD: aic7xxxreg.h,v 1.5 1997/03/09 06:10:35 mikel Exp $     */
/*      $NetBSD: aic7xxx.seq,v 1.8 1998/04/16 07:07:37 leo Exp $        */
#define AIC7XXX_SEQ_VER "$NetBSD: aic7xxx_seq.h,v 1.2 1996/10/08 03:04:07 gibbs Exp $"

This is the commit which broke it for me:

mjacob
Fri Jul  3 16:45:11 PDT 1998
Update of /cvsroot/src/sys/dev/microcode/aic7xxx
In directory nb00:/tmp/cvs-serv4163

Modified Files:
        aic7xxx.seq aic7xxx_seq.h 
Log Message:
Patches from Justin that handle some REV B AIC7880 problems

mjacob
Fri Jul  3 16:45:33 PDT 1998
Update of /cvsroot/src/sys/dev/ic
In directory nb00:/tmp/cvs-serv4193

Modified Files:
        aic7xxxreg.h 
Log Message:
Patches from Justin that handle some REV B AIC7880 problems

>Audit-Trail:
>Unformatted: