Subject: Dell PowerEdge 6300 boot hang with recent aic7xxx changes
To: NetBSD current <current-users@netbsd.org>
From: Nicolas Joly <njoly@pasteur.fr>
List: current-users
Date: 09/11/2003 14:05:40
I just upgraded NetBSD -current (20030911) sources on a Dell PowerEdge
6300 with 4 processors, and noticed that GENERIC.MP kernel won't boot
anymore. It hangs while trying to probe devices of the first Adaptec
7890 SCSI card.

Some code was recently inactivated in aic7xxx_osm.c r1.11, which
triggers my problem :

[...]
#if 0   /* This looks like it makes sense at first, but it can loop */
        if ((xs->xs_control & XS_CTL_DISCOVERY) && (tinfo->goal.width == 0
             && tinfo->goal.offset == 0
             && tinfo->goal.ppr_options == 0)) {
                scb->flags |= SCB_NEGOTIATE;
                scb->hscb->control |= MK_MESSAGE;       
        } else
#endif
[...]

Don't know if this is the correct solution but, if i put this small
piece of code back, all goes fine.

scsibus0: waiting 2 seconds for devices to settle...
scsibus1: waiting 2 seconds for devices to settle...
scsibus2: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 0 lun 0: <SEAGATE, ST318203LC, 0002> disk fixed
sd0: 17366 MB, 9772 cyl, 12 head, 303 sec, 512 bytes/sect x 35566480 sectors
sd0: sync (25.00ns offset 15), 16-bit (80.000MB/s) transfers, tagged queueing
sd1 at scsibus0 target 1 lun 0: <SEAGATE, ST318203LC, 0002> disk fixed
sd1: 17366 MB, 9772 cyl, 12 head, 303 sec, 512 bytes/sect x 35566480 sectors
sd1: sync (25.00ns offset 15), 16-bit (80.000MB/s) transfers, tagged queueing
sd2 at scsibus0 target 2 lun 0: <SEAGATE, ST318203LC, 0001> disk fixed
sd2: 17366 MB, 9772 cyl, 12 head, 303 sec, 512 bytes/sect x 35566480 sectors
sd2: sync (25.00ns offset 15), 16-bit (80.000MB/s) transfers, tagged queueing
sd3 at scsibus0 target 3 lun 0: <SEAGATE, ST318203LC, 0001> disk fixed
sd3: 17366 MB, 9772 cyl, 12 head, 303 sec, 512 bytes/sect x 35566480 sectors
sd3: sync (25.00ns offset 15), 16-bit (80.000MB/s) transfers, tagged queueing
sd4 at scsibus0 target 4 lun 0: <SEAGATE, ST318203LC, 0001> disk fixed
sd4: 17366 MB, 9772 cyl, 12 head, 303 sec, 512 bytes/sect x 35566480 sectors
sd4: sync (25.00ns offset 15), 16-bit (80.000MB/s) transfers, tagged queueing
ses0 at scsibus0 target 6 lun 0: <DELL, 1x6 U2W SCSI BP, 5.39> processor fixed
ses0: SAF-TE Compliant Device
ses0: async, 8-bit transfers
cd0 at scsibus2 target 5 lun 0: <NEC, CD-ROM DRIVE:466, 1.06> cdrom removable
cd0: sync (50.00ns offset 15), 8-bit (20.000MB/s) transfers

Thanks in advance,
Regards.


Here follow the full boot hanging messages (captured with installation
floppies) :

NetBSD 1.6Y (INSTALL) #0: Sun Sep  7 03:32:39 UTC 2003
        autobuild@tgm.netbsd.org:/autobuild/HEAD/i386/OBJ/autobuild/HEAD/src/sys/arch/i386/compile/INSTALL
total memory = 2047 MB
avail memory = 1894 MB
using 6144 buffers containing 102 MB of memory
BIOS32 rev. 0 found at 0xffe90
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium III (686-class), 550.04 MHz, id 0x673
cpu0: features 383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features 383fbff<PGE,MCA,CMOV,PAT,PSE36,MMX>
cpu0: features 383fbff<FXSR,SSE>
cpu0: I-cache 16 KB 32b/line 4-way, D-cache 16 KB 32b/line 4-way
cpu0: L2 cache 512 KB 32b/line 4-way
cpu0: ITLB 32 4 KB entries 4-way, 2 4 MB entries fully associative
cpu0: DTLB 64 4 KB entries 4-way, 8 4 MB entries 4-way
cpu0: 32 page colors
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pcib0 at pci0 dev 2 function 0
pcib0: vendor 0x8086 product 0x7110 (rev. 0x02)
pciide0 at pci0 dev 2 function 1: Intel 82371AB IDE controller (PIIX4) (rev. 0x01)
pciide0: device disabled (at device)
uhci0 at pci0 dev 2 function 2: vendor 0x8086 product 0x7112 (rev. 0x01)
uhci0: can't map i/o space
vendor 0x8086 product 0x7113 (miscellaneous bridge, revision 0x02) at pci0 dev 2 function 3 not configured
vga1 at pci0 dev 4 function 0: vendor 0x1002 product 0x4749 (rev. 0x5c)
wsdisplay0 at vga1 kbdmux 1
wsmux1: connecting to wsdisplay0
ppb0 at pci0 dev 6 function 0: vendor 0x1011 product 0x0024 (rev. 0x03)
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
fxp0 at pci1 dev 4 function 0: i82558 Ethernet, rev 5
fxp0: interrupting at irq 14
fxp0: Ethernet address 00:90:27:e2:8f:cc
inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 0
inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp1 at pci1 dev 5 function 0: i82558 Ethernet, rev 5
fxp1: interrupting at irq 11
fxp1: Ethernet address 00:90:27:e2:8f:cd
inphy1 at fxp1 phy 1: i82555 10/100 media interface, rev. 0
inphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ppb1 at pci0 dev 8 function 0: vendor 0x1011 product 0x0024 (rev. 0x03)
pci2 at ppb1 bus 2
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
fxp2 at pci2 dev 4 function 0: i82558 Ethernet, rev 5
fxp2: interrupting at irq 10
fxp2: Ethernet address 00:90:27:e2:91:e2
inphy2 at fxp2 phy 1: i82555 10/100 media interface, rev. 0
inphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
fxp3 at pci2 dev 5 function 0: i82558 Ethernet, rev 5
fxp3: interrupting at irq 14
fxp3: Ethernet address 00:90:27:e2:91:e3
inphy3 at fxp3 phy 1: i82555 10/100 media interface, rev. 0
inphy3: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pchb0 at pci0 dev 16 function 0
pchb0: vendor 0x8086 product 0x84ca (rev. 0x03)
pchb1 at pci0 dev 18 function 0
pchb1: vendor 0x8086 product 0x84cb (rev. 0x04)
pchb2 at pci0 dev 19 function 0
pchb2: vendor 0x8086 product 0x84cb (rev. 0x04)
pci3 at pchb2 bus 3
pci3: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
ahc1 at pci3 dev 4 function 0
ahc1: interrupting at irq 5
ahc1: aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs
scsibus0 at ahc1: 16 targets, 8 luns per target
ahc2 at pci3 dev 6 function 0
ahc2: interrupting at irq 14
ahc2: aic7890/91: Ultra2 Wide Channel A, SCSI Id=7, 32/253 SCBs
scsibus1 at ahc2: 16 targets, 8 luns per target
ahc3 at pci3 dev 8 function 0
ahc3: interrupting at irq 11
ahc3: aic7860: Ultra Single Channel A, SCSI Id=7, 3/253 SCBs
scsibus2 at ahc3: 8 targets, 8 luns per target
pchb3 at pci0 dev 20 function 0
pchb3: vendor 0x8086 product 0x84cb (rev. 0x04)
pci4 at pchb3 bus 4
pci4: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com0: console
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0 mux 1
wskbd0: connecting to wsdisplay0
pcppi0 at isa0 port 0x61
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
isapnp0: no ISA Plug 'n Play devices found
md0: internal 2500 KB image area
scsibus0: waiting 2 seconds for devices to settle...
scsibus1: waiting 2 seconds for devices to settle...
scsibus2: waiting 2 seconds for devices to settle...
ahc1:SCB 0xe - timed out
>>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<<
ahc1: Dumping Card State in Data-in phase, at SEQADDR 0x8c
Card was paused
ACCUM = 0x40, SINDEX = 0xa, DINDEX = 0x21, ARG_2 = 0xff
HCNT = 0x4a SCBPTR = 0x0
SCSISIGI[0x44] ERROR[0x0] SCSIBUSL[0x80] LASTPHASE[0x40] 
SCSISEQ[0x12] SBLKCTL[0xa] SCSIRATE[0x0] SEQCTL[0x10] 
SEQ_FLAGS[0x20] SSTAT0[0x0] SSTAT1[0x3] SSTAT2[0x40] 
SSTAT3[0x0] SIMODE0[0x8] SIMODE1[0xac] SXFRCTL0[0x80] 
DFCNTRL[0x28] DFSTATUS[0x80] 
STACK: 0x0 0x170 0x186 0x8a
SCB count = 16
Kernel NEXTQSCB = 15
Card NEXTQSCB = 15
QINFIFO entries: 
Waiting Queue entries: 
Disconnected Queue entries: 
QOUTFIFO entries: 
Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 
Sequencer SCB Info: 
  0 SCB_CONTROL[0x40] SCB_SCSIID[0x7] 
SCB_LUN[0x0] SCB_TAG[0xe] 
  1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
  2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
  3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
  4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
  5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
  6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
  7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
  8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
  9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 16 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 17 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 18 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 19 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 20 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 21 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 22 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 23 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 24 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 25 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 26 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 27 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 28 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 29 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 30 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 31 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
Pending list: 
 14 SCB_CONTROL[0x40] SCB_SCSIID[0x7] 
SCB_LUN[0x0] 
Kernel Free SCB list: 13 12 11 10 9 8 7 6 5 4 3 2 1 0 
Untagged Q(0): 14 

<<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>>
sg[0] - Addr 0x9bc3ea0 : Length 74
ahc1:BDR message in message buffer
ahc1:SCB 0xe - timed out
>>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<<
ahc1: Dumping Card State in Data-in phase, at SEQADDR 0x1b1
Card was paused
ACCUM = 0x40, SINDEX = 0xa, DINDEX = 0x21, ARG_2 = 0xff
HCNT = 0x4a SCBPTR = 0x0
SCSISIGI[0x54] ERROR[0x0] SCSIBUSL[0x80] LASTPHASE[0x40] 
SCSISEQ[0x12] SBLKCTL[0xa] SCSIRATE[0x0] SEQCTL[0x10] 
SEQ_FLAGS[0x20] SSTAT0[0x0] SSTAT1[0x3] SSTAT2[0x40] 
SSTAT3[0x0] SIMODE0[0x8] SIMODE1[0xac] SXFRCTL0[0x80] 
DFCNTRL[0x28] DFSTATUS[0x80] 
STACK: 0x8a 0x0 0x170 0x186
SCB count = 16
Kernel NEXTQSCB = 15
Card NEXTQSCB = 15
QINFIFO entries: 
Waiting Queue entries: 
Disconnected Queue entries: 
QOUTFIFO entries: 
Sequencer Free SCB List: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 
Sequencer SCB Info: 
  0 SCB_CONTROL[0x40] SCB_SCSIID[0x7] 
SCB_LUN[0x0] SCB_TAG[0xe] 
  1 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
  2 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
  3 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
  4 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
  5 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
  6 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
  7 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
  8 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
  9 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 10 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 11 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 12 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 13 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 14 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 15 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 16 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 17 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 18 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 19 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 20 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 21 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 22 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 23 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 24 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 25 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 26 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 27 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 28 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 29 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 30 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
 31 SCB_CONTROL[0x0] SCB_SCSIID[0xff] 
SCB_LUN[0xff] SCB_TAG[0xff] 
Pending list: 
 14 SCB_CONTROL[0x40] SCB_SCSIID[0x7] 
SCB_LUN[0x0] 
Kernel Free SCB list: 13 12 11 10 9 8 7 6 5 4 3 2 1 0 
Untagged Q(0): 14 

<<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>>
sg[0] - Addr 0x9bc3ea0 : Length 74
probe(ahc1:0:0:0): ahc1: no longer in timeout, status = 0
ahc1: Issued Channel A Bus Reset. 1 SCBs aborted

-- 
Nicolas Joly

Biological Software and Databanks.
Pasteur Institute, Paris.