Bug 64366 - Hampton smp kernel hangs when loading aic7xxx on PE4600
Summary: Hampton smp kernel hangs when loading aic7xxx on PE4600
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: kernel   
(Show other bugs)
Version: 7.3
Hardware: i386 Linux
Target Milestone: ---
Assignee: Arjan van de Ven
QA Contact: Brian Brock
Depends On:
TreeView+ depends on / blocked
Reported: 2002-05-03 00:25 UTC by Tesfamariam Michael
Modified: 2005-10-31 22:00 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2002-05-03 23:05:32 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Driver Update Diskette for aic7xxx 6.2.7 under RH7.3 GM (181.90 KB, application/octet-stream)
2002-05-03 21:19 UTC, Justin T. Gibbs
no flags Details

Description Tesfamariam Michael 2002-05-03 00:25:25 UTC
Description of Problem:
Hampton smp kernel (2.5.18-3smp) hangs the system right after it starts to load 
the aic7xxx driver on PE4600. 

Version-Release number of selected component (if applicable):
Hampton smp kernel 2.4.18-3smp

How Reproducible:
Seen it on different systems

Steps to Reproduce:
1. Install Hampton (kernel 2.4.18-3) onto the PE4600 onboard scsi controller 
2. Boot the smp kernel
3. system will hang when aic7xxx starts to load

Actual Results:
Systme hangs

Expected Results:
To boot to smp kernel.

Additional Information:
I saw this on two systems so far. When the old aic7xxx (aic7xxx_old) driver is 
used in initrd, the system boots fine.
I was not able to reproduce this issue on other PE4600 with the same 

Comment 1 Doug Ledford 2002-05-03 01:17:49 UTC
Does the 4600 use the 450NX motherboard chipset?  If so, try passing the option
aic7xxx=no_probe to the new aic7xxx driver and see if that solves the problem.

Comment 2 Tesfamariam Michael 2002-05-03 15:27:58 UTC
I added "options aic7xxx=no_probe" line right after the "alias scsi_hostadapter 
aic7xxx" line in /etc/modules.conf, remake the SMP initrd image, rebooted to 
this new SMP image, and the problem still exists.

Comment 3 Michael E Brown 2002-05-03 15:44:24 UTC
System is NOT 450NX based.

Comment 4 Tesfamariam Michael 2002-05-03 20:27:38 UTC
Tried a few things:
   Hampton Beta3 and Pensacola gold works. Hampton Beta4 and Gold have this 
issue. 2.4.18-3.1smp kernel also shows this issue. 
The motherboard rev that is failing is A06.

Comment 5 Arjan van de Ven 2002-05-03 20:57:04 UTC
Does Dell have contacts with Adaptec? We upgraded the driver rather late on the
urgent request of Adaptec......

Comment 6 Justin T. Gibbs 2002-05-03 21:19:47 UTC
Created attachment 56305 [details]
Driver Update Diskette for aic7xxx 6.2.7 under RH7.3 GM

Comment 7 Justin T. Gibbs 2002-05-03 21:26:06 UTC
There are two issues with 6.2.5 that we are aware of that might be
causing this problem.

1) On certain fast machines (we only know of one and have not replicated
   this locally), the method used to reset the SCSI controller can allow
   chip accesses before the controller is ready to handle them.

2) The io_request_lock is aquired by the SCSI mid-layer prior to calling
   into the aic7xxx driver's detect routine.  Under PPC, some of the PCI
   methods the driver calls may also acquire spinlocks.  Should any spin-lock
   acquisition fail, the result would be a hang.  It may also be that under
   x86, there are some bits of code the driver calls into that also suffer
   from this issue.  Unfortunately, the semantics of the io_request_lock
   are not well defined.  In this case, only drivers with new error recovery
   have their detect routine called with the io_request_lock held.

Both of these issues are resolved in 6.2.7.  For number 2, the driver simply
drops the io_request_lock in its detect routine and reacquires it prior to
calling back into or returning to the SCSI mid-layer.

Comment 8 Tesfamariam Michael 2002-05-03 22:35:20 UTC
The issue occurs with the secondary scsi controller AIC-7890. The primary scsi 
controller AIC-7899 works fine when the secondary controller is disabled from 
I set the primary controller as ROMB (RAID0), installed, booted to smp, insmod 
aic7xxx, and the system didn't hang.

Comment 9 Tesfamariam Michael 2002-05-03 23:05:26 UTC
The driver disk seems to fix the issue (at least my initial test indicates 

Comment 10 John A. Hull 2002-07-11 21:43:25 UTC
Fixed in Milan beta 3

Note You need to log in before you can comment on or make changes to this bug.