Subject: kern/22495: ahc(4) panic with new ahc driver
To: None <gnats-bugs@gnats.netbsd.org>
From: None <Ian.Fry@sophos.com>
List: netbsd-bugs
Date: 08/15/2003 16:39:34
>Number:         22495
>Category:       kern
>Synopsis:       The new ahc driver in -current panics with an AHA2940UW
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Aug 15 15:40:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Ian Fry
>Release:        NetBSD 1.6W, source from around 10th August 2003
>Organization:
>Environment:
System: NetBSD terry.sophos.com 1.6W NetBSD 1.6W (TERRY) #165: Thu Aug 14 12:18:50 BST 2003 ief@terry.sophos.com:/mnt/data/kernels/TERRY i386
Architecture: i386
Machine: i386
>Description:
I am trying to update a machine running 1.5 to -current, but the new ahc
driver causes a panic whilst going multi-user. I've tried using
AHC_NO_TAGS, but that doesn't make any difference.

The following was captured with a serial console - it contains dmesg
information from both a good, 1.5 boot, and the information from booting a
1.6W kernel, along with a 'bt' from the ddb prompt.

>How-To-Repeat:
Build new kernel including ahc, boot new kernel
>Fix:
Unknown
>Release-Note:
>Audit-Trail:
>Unformatted:
 >> NetBSD/i386 BIOS Boot, Revision 2.7
 >> (matt@pilot.local, Wed Jun 21 10:31:08 PDT 2000)
 >> Memory: 638/195584 k
 > boot -s
 booting wd0a:netbsd (howto 0x2)
 2095351+147640+235872 [65+151184+123767]=0x2a1728
 [ preserving 275472 bytes of netbsd ELF symbol table ]
 Copyright (c) 1996, 1997, 1998, 1999, 2000
     The NetBSD Foundation, Inc.  All rights reserved.
 Copyright (c) 1982, 1986, 1989, 1991, 1993
     The Regents of the University of California.  All rights reserved.
 
 NetBSD 1.5 (TERRY) #7: Fri Jan  4 14:18:55 GMT 2002
     ief@terry.uk.sophos:/mnt/data/src/sys/arch/i386/compile/TERRY
 cpu0: Intel Pentium/MMX (586-class)
 total memory = 191 MB
 avail memory = 174 MB
 using 2478 buffers containing 9912 KB of memory
 BIOS32 rev. 0 found at 0xfd850
 PCI BIOS rev. 2.1 found at 0xfdba7
 PCI IRQ Routing Table rev. 1.0 found at 0xfdf60, size 128 bytes (6 entries)
 PCI Interrupt Router at 255:31:7
 pci_intr_fixup: no compatible PCI ICU found: ICU vendor 0xffff product 0xffff
 Warning: unable to fix up PCI interrupt routing
 mainbus0 (root)
 pnpbios0 at mainbus0: nodes 15, max len 184
 pckbc1 at pnpbios0 index 6 (PNP0303): kbd port
 pckbc2 at pnpbios0 index 16 (PNP0F13): aux port
 pckbd0 at pckbc1 (kbd slot)
 pckbc1: using irq 1 for kbd slot
 wskbd0 at pckbd0
 pmsi0 at pckbc1 (aux slot)
 pckbc1: using irq 12 for aux slot
 wsmouse0 at pmsi0 mux 0
 pci0 at mainbus0 bus 0: configuration mode 1
 pci0: i/o space, memory space enabled
 pchb0 at pci0 dev 0 function 0
 pchb0: Silicon Integrated System 5597/5598 host bridge (rev. 0x02)
 pcib0 at pci0 dev 1 function 0
 pcib0: Silicon Integrated System 85C503 or 5597/5598 ISA bridge (rev. 0x01)
 pciide0 at pci0 dev 1 function 1: Silicon Integrated System 5597/5598 IDE controller (rev. 0xd0)
 pciide0: bus-master DMA support present
 pciide0: primary channel configured to compatibility mode
 atapibus0 at pciide0 channel 0
 sd0 at atapibus0 drive 1: <LS-120 COSM   05              UHD Flopp, 7YABB0014288, 0510C10> type 0 direct removable
 sd0: drive offline
 sd0: 32-bit data port
 pciide0: primary channel interrupting at irq 14
 sd0(pciide0:0:1): using PIO mode 3
 pciide0: secondary channel configured to compatibility mode
 pciide0: disabling secondary channel (no drives)
 ohci0 at pci0 dev 1 function 2: Silicon Integrated System 5597/5598 USB host controller (rev. 0x10)
 ohci0: interrupting at irq 9
 ohci0: OHCI version 1.0, legacy support
 usb0 at ohci0: USB revision 1.0
 uhub0 at usb0
 uhub0: Silicon Integra OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
 ahc0 at pci0 dev 10 function 0
 ahc0: interrupting at irq 5
 ahc0: aic7880 Wide Channel A, SCSI Id=7, 16/255 SCBs
 scsibus0 at ahc0 channel 0: 16 targets, 8 luns per target
 vga1 at pci0 dev 13 function 0: S3 Trio64V2/DX (rev. 0x16)
 wsdisplay0 at vga1
 isa0 at pcib0
 ep0 at isa0 port 0x300-0x30f irq 10: 3Com 3C509 Ethernet
 ep0: address 00:60:97:81:dd:47, 8KB byte-wide FIFO, 1:1 Rx:Tx split
 ep0: 10baseT, 10base5, 10base2 (default 10baseT)
 com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
 com0: console
 lpt0 at isa0 port 0x378-0x37b irq 7
 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
 biomask eb6d netmask ef6d ttymask ffef
 scsibus0: waiting 2 seconds for devices to settle...
 ahc0: target 0 using 8bit transfers
 ahc0: target 0 synchronous at 20.0MHz, offset = 0xf
 ahc0: target 0 using tagged queuing
 sd1 at scsibus0 target 0 lun 0: <QUANTUM, FIREBALL ST3.2S, 0F0C> SCSI2 0/direct fixed
 sd1: 3090 MB, 7068 cyl, 4 head, 223 sec, 512 bytes/sect x 6328861 sectors
 IPsec: Initialized Security Association Processing.
 boot device: sd1
 root on sd1a dumps on sd1b
 root file system type: ffs
 Enter pathname of shell or RETURN for sh: 
 
 rebooting...
 
 >> NetBSD/i386 BIOS Boot, Revision 2.7
 >> (matt@pilot.local, Wed Jun 21 10:31:08 PDT 2000)
 >> Memory: 638/195584 k
 > boot netbsd.gcc3
 booting wd0a:netbsd.gcc3
 2380336+220192 [137+167440+149176]=0x2d8d1c
 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
     The NetBSD Foundation, Inc.  All rights reserved.
 Copyright (c) 1982, 1986, 1989, 1991, 1993
     The Regents of the University of California.  All rights reserved.
 
 NetBSD 1.6W (TERRY) #163: Fri Aug  8 10:48:59 BST 2003
 	ief@terry.sophos.com:/mnt/data/kernels/TERRY
 total memory = 191 MB
 avail memory = 174 MB
 using 2478 buffers containing 9912 KB of memory
 BIOS32 rev. 0 found at 0xfd850
 PCI BIOS rev. 2.1 found at 0xfdba7
 PCI IRQ Routing Table rev. 1.0 found at 0xfdf60, size 128 bytes (6 entries)
 PCI Interrupt Router at 255:31:7
 pci_intr_fixup: no compatible PCI ICU found: ICU vendor 0xffff product 0xffff
 Warning: unable to fix up PCI interrupt routing
 mainbus0 (root)
 cpu0 at mainbus0: (uniprocessor)
 cpu0: Intel Pentium/MMX (586-class), 233.88 MHz, id 0x543
 cpu0: features 8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8>
 cpu0: features 8001bf<MMX>
 vesabios0 at mainbus0: version 2.0, S3 Incorporated. Trio64V2/DX/GX
 vesarasterviii0 at vesabios0: fb 320x200 @f8000000
 vesatext0 at vesabios0
 pnpbios0 at mainbus0: nodes 15, max len 184
 pckbc1 at pnpbios0 index 6 (PNP0303): kbd port
 pckbc2 at pnpbios0 index 16 (PNP0F13): aux port
 pckbd0 at pckbc1 (kbd slot)
 pckbc1: using irq 1 for kbd slot
 wskbd0 at pckbd0 mux 1
 pms0 at pckbc1 (aux slot)
 pckbc1: using irq 12 for aux slot
 wsmouse0 at pms0 mux 0
 pci0 at mainbus0 bus 0: configuration mode 1
 pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
 pchb0 at pci0 dev 0 function 0
 pchb0: Silicon Integrated System 5597/5598 host bridge (rev. 0x02)
 pcib0 at pci0 dev 1 function 0
 pcib0: Silicon Integrated System 85C503 or 5597/5598 ISA bridge (rev. 0x01)
 pciide0 at pci0 dev 1 function 1: Silicon Integrated System 5597/5598 IDE controller (rev. 0xd0)
 pciide0: bus-master DMA support present
 pciide0: primary channel configured to compatibility mode
 atapibus0 at pciide0 channel 0: 2 targets
 sd0 at atapibus0 drive 1: <LS-120 COSM   05              UHD Flopp, 7YABB0014288, 0510C10> disk removable
 sd0: drive offline
 sd0: 32-bit data port
 pciide0: primary channel interrupting at irq 14
 sd0(pciide0:0:1): using PIO mode 3
 pciide0: secondary channel configured to compatibility mode
 pciide0: disabling secondary channel (no drives)
 ohci0 at pci0 dev 1 function 2: Silicon Integrated System 5597/5598 USB host controller (rev. 0x10)
 ohci0: can't map mem space
 ahc0 at pci0 dev 10 function 0
 ahc0: interrupting at irq 5
 ahc0: aic7880: Ultra Wide Channel A, SCSI Id=7, 16/253 SCBs
 scsibus0 at ahc0: 16 targets, 8 luns per target
 vga1 at pci0 dev 13 function 0: S3 Trio64V2/DX (rev. 0x16)
 wsdisplay0 at vga1 kbdmux 1
 wsmux1: connecting to wsdisplay0
 wskbd0: connecting to wsdisplay0
 isa0 at pcib0
 com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
 com0: console
 lpt0 at isa0 port 0x378-0x37b irq 7
 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
 IPsec: Initialized Security Association Processing.
 scsibus0: waiting 2 seconds for devices to settle...
 sd1 at scsibus0 target 0 lun 0: <QUANTUM, FIREBALL ST3.2S, 0F0C> disk fixed
 sd1: 3090 MB, 7068 cyl, 4 head, 223 sec, 512 bytes/sect x 6328861 sectors
 sd1: sync (50.00ns offset 15), 8-bit (20.000MB/s) transfers, tagged queueing
 boot device: sd1
 root on sd1a dumps on sd1b
 root file system type: ffs
 swapctl: adding /dev/sd1b as swap device at priority 0
 Automatic boot in progress: starting file system checks.
 /dev/rsd1a: file system is clean; not checking
 /dev/rsd1e: file system is clean; not checking
 /dev/rsd1f: file system is clean; not checking
 Setting tty flags.
 Setting sysctl variables:
 Starting network.
 Hostname: terry.uk.sophos
 add net 127.0.0.0: gateway 127.0.0.1
 Configuring network interfaces:.
 wsdisplay0: screen 1 added (80x50, vt100 emulation)
 wsdisplay0: screen 2 added (80x50, vt100 emulation)
 wsdisplay0: screen 3 added (80x50, vt100 emulation)
 wsdisplay0: screen 4 added (80x25, vt100 emulation)
 wsconscfg: WSMUX_ADD_DEVICE: Invalid argument
 Building databases...
 ahc0:A:0:0: ahc_intr - referenced scb not valid during seqint 0x71 scb(31)
 >>>>>>>>>>>>>>>>>> Dump Card State Begins <<<<<<<<<<<<<<<<<
 ahc0: Dumping Card State in Message-in phase, at SEQADDR 0x1c2
 Card was paused
 ACCUM = 0xc0, SINDEX = 0x71, DINDEX = 0x8c, ARG_2 = 0x7
 HCNT = 0x0 SCBPTR = 0x8
 SCSISIGI[0xe6] ERROR[0x0] SCSIBUSL[0x0] LASTPHASE[0xe0] 
 SCSISEQ[0x12] SBLKCTL[0x2] SCSIRATE[0xf] SEQCTL[0x10] 
 SEQ_FLAGS[0x0] SSTAT0[0x7] SSTAT1[0x3] SSTAT2[0x0] 
 SSTAT3[0x0] SIMODE0[0x0] SIMODE1[0xac] SXFRCTL0[0xa8] 
 DFCNTRL[0x0] DFSTATUS[0x29] 
 STACK: 0x105 0x0 0x16c 0x194
 SCB count = 32
 Kernel NEXTQSCB = 31
 Card NEXTQSCB = 6
 QINFIFO entries: 
 Waiting Queue entries: 
 Disconnected Queue entries: 7:8 6:9 5:12 2:10 0:15 1:13 4:14 3:11 
 QOUTFIFO entries: 
 Sequencer Free SCB List: 9 10 11 12 13 14 15 
 Sequencer SCB Info: 
   0 SCB_CONTROL[0x6c] SCB_SCSIID[0x7] 
 SCB_LUN[0x0] SCB_TAG[0xf] 
   1 SCB_CONTROL[0x6c] SCB_SCSIID[0x7] 
 SCB_LUN[0x0] SCB_TAG[0xd] 
   2 SCB_CONTROL[0x6c] SCB_SCSIID[0x7] 
 SCB_LUN[0x0] SCB_TAG[0xa] 
   3 SCB_CONTROL[0x6c] SCB_SCSIID[0x7] 
 SCB_LUN[0x0] SCB_TAG[0xb] 
   4 SCB_CONTROL[0x6c] SCB_SCSIID[0x7] 
 SCB_LUN[0x0] SCB_TAG[0xe] 
   5 SCB_CONTROL[0x6c] SCB_SCSIID[0x7] 
 SCB_LUN[0x0] SCB_TAG[0xc] 
   6 SCB_CONTROL[0x6c] SCB_SCSIID[0x7] 
 SCB_LUN[0x0] SCB_TAG[0x9] 
   7 SCB_CONTROL[0x6c] SCB_SCSIID[0x7] 
 SCB_LUN[0x0] SCB_TAG[0x8] 
   8 SCB_CONTROL[0xe8] SCB_SCSIID[0x7] 
 SCB_LUN[0x0] SCB_TAG[0x1f] 
   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] 
 Pending list: 
   6 SCB_CONTROL[0x68] SCB_SCSIID[0x7] 
 SCB_LUN[0x0] 
   8 SCB_CONTROL[0x68] SCB_SCSIID[0x7] SCB_LUN[0x0] 
   9 
 SCB_CONTROL[0x68] SCB_SCSIID[0x7] SCB_LUN[0x0] 
  12 SCB_CONTROL[0x68] 
 SCB_SCSIID[0x7] SCB_LUN[0x0] 
  10 SCB_CONTROL[0x68] SCB_SCSIID[0x7] 
 SCB_LUN[0x0] 
  15 SCB_CONTROL[0x68] SCB_SCSIID[0x7] SCB_LUN[0x0] 
  13 
 SCB_CONTROL[0x68] SCB_SCSIID[0x7] SCB_LUN[0x0] 
  14 SCB_CONTROL[0x68] 
 SCB_SCSIID[0x7] SCB_LUN[0x0] 
  11 SCB_CONTROL[0x68] SCB_SCSIID[0x7] 
 SCB_LUN[0x0] 
 Kernel Free SCB list: 7 0 1 2 3 4 5 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 
 
 <<<<<<<<<<<<<<<<< Dump Card State Ends >>>>>>>>>>>>>>>>>>
 panic: for safety
 Stopped at      netbsd:cpu_Debugger+0x4:        leave
 db> bt
 cpu_Debugger(10,1,d,1f,0) at netbsd:cpu_Debugger+0x4
 panic(c031018d,71,1f,c078b4a0,c0795a00) at netbsd:panic+0x11d
 ahc_handle_seqint(c0747000,71,0,c074b680,0) at netbsd:ahc_handle_seqint+0x2cc
 ahc_intr(c0747000,0,c03d0010,30,10) at netbsd:ahc_intr+0x148499
 Xintr_legacy5() at netbsd:Xintr_legacy5+0xa4
 --- interrupt ---
 mpidle(c0380b00,0,c03ddf48,c0201ed3,1) at netbsd:mpidle
 ltsleep(c0380940,4,c0323108,0,0) at netbsd:ltsleep+0x307
 uvm_scheduler(c0380920,0,c0388fbc,c0313131,0) at netbsd:uvm_scheduler+0x74
 main(0,0,0,0,0) at netbsd:main+0x69f
 db>