Bug 14334

Summary: [patch] AHA-1542A not supported by FreeBSD 3.x ("compensating")
Product: Base System Reporter: bertram <bertram>
Component: kernAssignee: Warner Losh <imp>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: 3.1-RELEASE   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
file.diff none

Description bertram 1999-10-14 21:00:01 UTC
aha0 is found and probed correctly but fails when probing for
attached devices. Output during boot is:

aha0 at 0x330-0x333 irq 11 drq 5 on isa
aha0: AHA-1540/1542 64 head BIOS FW Rev. 0.6 (ID=41) SCSI Host Adapter, SCSI ID 
7, 16 CCBs
Waiting 15 seconds for SCSI devices to settle
aha0: AHA-1540A detected, compensating
aha0: AHA-1540A detected, compensating
aha0: AHA-1540A detected, compensating
aha0: AHA-1540A detected, compensating
aha0: AHA-1540A detected, compensating
aha0: AHA-1540A detected, compensating

then the machine just hangs.

works with FreeBSD 2.x, output of "boot -v" in 2.2.8:
aha0: Rev 41 (AHA-154x[AB]) V0.6, enabling residuals, target ops

Fix: disabling residuals in aha.c cured the problem on my machine.
I've no clue about the consequences of the modification I did,
but if possible I'd like to have this as the default for the
GENERIC kernel, since it make installation possible with this
controller. On the other hand residuals IMHO aren't the real
source of the problem since obviously they worked in 2.2.8.

Context diff of sources from 3.1-RELEASE follows:
How-To-Repeat: 
Boot with Install-floppies of FreeBSD 3.x or 4.0-current
Comment 1 Kenneth D. Merry freebsd_committer freebsd_triage 1999-10-15 06:36:08 UTC
Responsible Changed
From-To: freebsd-bugs->imp

Warner wrote the aha driver. 

Comment 2 isometry 2001-08-14 00:04:06 UTC
Hi,

I was wondering if you were ever planning to fix this bug?
(http://www.freebsd.org/cgi/query-pr.cgi?pr=14334)
Thanks in advance ;)

Robin Breathe
Comment 3 Warner Losh freebsd_committer freebsd_triage 2005-01-11 01:15:36 UTC
State Changed
From-To: open->closed

MAde final attempt to compensate.  If it doesn't work, oh well.