Bug 59969

Summary: scsi bus reset when using aic7xxx driver
Product: [Retired] Red Hat Linux Reporter: LENHOF <lenh_jea>
Component: kernelAssignee: Arjan van de Ven <arjanv>
Status: CLOSED CURRENTRELEASE QA Contact: Brian Brock <bbrock>
Severity: low Docs Contact:
Priority: medium    
Version: 7.2CC: ak
Target Milestone: ---   
Target Release: ---   
Hardware: athlon   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-06-06 13:43:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description LENHOF 2002-02-16 19:23:31 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.7) Gecko/20020208

Description of problem:
The are some bus reset during the use of the device (A cd-writer) connected on
my Adaptec 2904

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
Mount a cdrom
Copy from it to hard disk

	

Actual Results:  scsi reset
Copy corruption


Expected Results:  Choose the right module...
working well ;-)

Additional info:

Modifying the default modules.conf which is completed by anaconda from alias
scsi_hostadapter aic7xxx to alias scsi_hostadapter aic7xxx_mod make it work
without more problem.

So some info for you :

Detection with the default module

Feb 16 18:57:17 mylinux kernel: SCSI subsystem driver Revision: 1.00
Feb 16 18:57:17 mylinux kernel: PCI: Found IRQ 10 for device 00:0e.0
Feb 16 18:57:17 mylinux kernel: PCI: Sharing IRQ 10 with 00:05.0
Feb 16 18:57:17 mylinux kernel: (scsi0) <Adaptec AIC-7850 SCSI host adapter>
found at PCI 0/14/0
Feb 16 18:57:17 mylinux kernel: (scsi0) Narrow Channel, SCSI ID=7, 3/255 SCBs
Feb 16 18:57:17 mylinux kernel: (scsi0) Downloading sequencer code... 415
instructions downloaded
Feb 16 18:57:17 mylinux kernel: scsi0 : Adaptec AHA274x/284x/294x
(EISA/VLB/PCI-Fast SCSI) 5.2.4/5.2.0
Feb 16 18:57:17 mylinux kernel:        <Adaptec AIC-7850 SCSI host adapter>
Feb 16 18:57:17 mylinux kernel: blk: queue c17c0018, I/O limit 4095Mb (mask
0xffffffff)
Feb 16 18:57:17 mylinux kernel:   Vendor: YAMAHA    Model: CRW2100S         
Rev: 1.0H
Feb 16 18:57:17 mylinux kernel:   Type:   CD-ROM                            
ANSI SCSI revision: 02
Feb 16 18:57:17 mylinux kernel: blk: queue c17c0818, I/O limit 4095Mb (mask
0xffffffff)

The problem during the copy

Feb 16 19:47:21 mylinux kernel: scsi : aborting command due to timeout : pid 0,
scsi0, channel 0, id 3, lun 0 Test Unit Ready 00 00 00 00 00 
Feb 16 19:47:23 mylinux login(pam_unix)[990]: session opened for user root by
LOGIN(uid=0)
Feb 16 19:47:23 mylinux  -- root[990]: ROOT LOGIN ON tty2
Feb 16 19:47:31 mylinux kernel: scsi : aborting command due to timeout : pid 0,
scsi0, channel 0, id 3, lun 0 Test Unit Ready 00 00 00 00 00 
Feb 16 19:47:40 mylinux kernel: scsi : aborting command due to timeout : pid 0,
scsi0, channel 0, id 3, lun 0 Read (10) 00 00 00 61 49 00 00 3f 00 
Feb 16 19:47:40 mylinux kernel: scsi : aborting command due to timeout : pid 0,
scsi0, channel 0, id 3, lun 0 Read (10) 00 00 00 61 88 00 00 01 00 
Feb 16 19:47:43 mylinux kernel: SCSI host 0 abort (pid 0) timed out - resetting
Feb 16 19:47:43 mylinux kernel: SCSI bus is being reset for host 0 channel 0.
Feb 16 19:47:43 mylinux kernel: (scsi0:0:3:0) Synchronous at 10.0 Mbyte/sec,
offset 7.
Feb 16 19:47:43 mylinux kernel: Device 0b:00 not ready.
Feb 16 19:47:43 mylinux kernel:  I/O error: dev 0b:00, sector 99620
Feb 16 19:47:43 mylinux kernel: Device 0b:00 not ready.
Feb 16 19:47:43 mylinux kernel:  I/O error: dev 0b:00, sector 99872
...

When modyfing /etc/modules.conf by hand

Feb 16 19:48:34 mylinux kernel: PCI: Found IRQ 10 for device 00:0e.0
Feb 16 19:48:34 mylinux kernel: PCI: Sharing IRQ 10 with 00:05.0
Feb 16 19:48:34 mylinux kernel: ahc_pci:0:14:0: Using left over BIOS settings
Feb 16 19:48:34 mylinux kernel: scsi0 : Adaptec AIC7XXX EISA/VLB/PCI SCSI HBA
DRIVER, Rev 6.2.1
Feb 16 19:48:34 mylinux kernel:         <Adaptec 2902/04/10/15/20/30C SCSI adapter>
Feb 16 19:48:34 mylinux kernel:         aic7850: Single Channel A, SCSI Id=7,
3/255 SCBs
Feb 16 19:48:34 mylinux kernel: 
Feb 16 19:48:34 mylinux kernel: blk: queue cac50c18, I/O limit 4095Mb (mask
0xffffffff)
Feb 16 19:48:50 mylinux kernel:   Vendor: YAMAHA    Model: CRW2100S         
Rev: 1.0H
Feb 16 19:48:50 mylinux kernel:   Type:   CD-ROM                            
ANSI SCSI revision: 02
Feb 16 19:48:50 mylinux kernel: blk: queue c15fb818, I/O limit 4095Mb (mask
0xffffffff)
Feb 16 19:48:51 mylinux kernel: Attached scsi CD-ROM sr0 at scsi0, channel 0, id
3, lun 0
Feb 16 19:48:51 mylinux kernel: (scsi0:A:3): 10.000MB/s transfers (10.000MHz,
offset 7)
Feb 16 19:48:51 mylinux kernel: sr0: scsi3-mmc drive: 40x/40x writer cd/rw
xa/form2 cdda tray

Extract from lspci -vv

00:0e.0 SCSI storage controller: Adaptec AHA-7850 (rev 03)
	Subsystem: Adaptec AHA-2904/Integrated AIC-7850
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping-
SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort-
<MAbort- >SERR- <PERR-
	Latency: 32 (1000ns min, 1000ns max), cache line size 08
	Interrupt: pin A routed to IRQ 10
	Region 0: I/O ports at a800 [disabled] [size=256]
	Region 1: Memory at f2800000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [dc] Power Management version 1
		Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-

Comment 1 LENHOF 2002-02-17 10:31:45 UTC
I do need to disable kudzu in order to boot correctly... here are the lines from
/var/log/messages

Feb 17 11:13:33 mylinux kernel: (scsi0:-1:-1:-1) Invalid WAITING_SCBH value 255,
improvising.
Feb 17 11:13:33 mylinux kernel: (scsi0:-1:-1:-1) Referenced SCB 39 not valid
during SELTO.
Feb 17 11:13:33 mylinux kernel:         SCSISEQ = 0x5a SEQADDR = 0x18 SSTAT0 =
0x15 SSTAT1 = 0x88
Feb 17 11:13:33 mylinux kernel: Attached scsi CD-ROM sr0 at scsi0, channel 0, id
3, lun 0
Feb 17 11:13:33 mylinux kernel: (scsi0:-1:-1:-1) Invalid WAITING_SCBH value 255,
improvising.
Feb 17 11:13:33 mylinux kernel: (scsi0:-1:-1:-1) Referenced SCB 39 not valid
during SELTO.
Feb 17 11:13:33 mylinux kernel:         SCSISEQ = 0x5a SEQADDR = 0x18 SSTAT0 =
0x15 SSTAT1 = 0x88
Feb 17 11:13:34 mylinux kernel: (scsi0:-1:-1:-1) Invalid WAITING_SCBH value 255,
improvising.
Feb 17 11:13:34 mylinux kernel: (scsi0:-1:-1:-1) Referenced SCB 39 not valid
during SELTO.
Feb 17 11:13:34 mylinux kernel:         SCSISEQ = 0x5a SEQADDR = 0x18 SSTAT0 =
0x15 SSTAT1 = 0x88
Feb 17 11:13:34 mylinux kernel: (scsi0:-1:-1:-1) Invalid WAITING_SCBH value 255,
improvising.
Feb 17 11:13:34 mylinux kernel: (scsi0:-1:-1:-1) Referenced SCB 39 not valid
during SELTO.
Feb 17 11:13:34 mylinux kernel:         SCSISEQ = 0x5a SEQADDR = 0x18 SSTAT0 =
0x15 SSTAT1 = 0x88
Feb 17 11:13:34 mylinux gconfd (root-1499): starting (version 1.0.7), pid 1499
user 'root'
Feb 17 11:13:34 mylinux kernel: (scsi0:-1:-1:-1) Invalid WAITING_SCBH value 255,
improvising.
Feb 17 11:13:34 mylinux kernel: (scsi0:-1:-1:-1) Referenced SCB 39 not valid
during SELTO.
Feb 17 11:13:34 mylinux kernel:         SCSISEQ = 0x5a SEQADDR = 0x18 SSTAT0 =
0x15 SSTAT1 = 0x88
Feb 17 11:13:34 mylinux kernel: (scsi0:-1:-1:-1) Invalid WAITING_SCBH value 255,
improvising.
Feb 17 11:13:34 mylinux kernel: (scsi0:-1:-1:-1) Referenced SCB 39 not valid
during SELTO.
Feb 17 11:13:34 mylinux kernel:         SCSISEQ = 0x5a SEQADDR = 0x18 SSTAT0 =
0x15 SSTAT1 = 0x88
Feb 17 11:13:35 mylinux kernel: (scsi0:-1:-1:-1) Invalid WAITING_SCBH value 255,
improvising.


So I've done a boot in single.... and chkconfig --level 2345 kudzu off... And
now everything seems ok

Jyl

Comment 2 LENHOF 2002-02-17 11:47:20 UTC
OK I should think before writing... the problem was'nt with kudzu but with
initrd... Indeed if I modify the /etc/modules.conf but not initrd...there's
still a problem after the first reboot...

So in order to make my CD-Burner working the 2 things to do are :
- Change aic7xxx to aic7xxx_mod in /etc/modules.conf
- Modify initrd to include aic7xxx_mod (remove aic7xxx)
  - So add aic7xxx_mod in /lib (of initrd)
  - Remove aic7xxx in /lib (of initrd)
  - Add an "insmod /lib/aic7xxx_mod.o" instead of "insmod /lib/aic7xxx.o" in linuxrc

It could be easier if all of this work could be done automagically by the
installer !!!

Jy

Comment 3 LENHOF 2003-06-06 13:43:07 UTC
Work with recent kernels