Subject: kern/32652: kernel panic with 2 firewire attached hard drive, NetBSD-3.0, i386, ACPI, ieee1394
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <tru@pasteur.fr>
List: netbsd-bugs
Date: 01/27/2006 18:00:01
>Number:         32652
>Category:       kern
>Synopsis:       kernel panic with 2 firewire attached hard drive, NetBSD-3.0, i386, ACPI, ieee1394
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jan 27 18:00:00 +0000 2006
>Originator:     Tru Huynh
>Release:        NetBSD 3.0
>Organization:
Institut Pasteur, Paris
>Environment:
System: NetBSD casewell.bis.pasteur.fr 3.0 NetBSD 3.0 (GENERIC.ACPI.IEEE1394-2) #2: Thu Jan 26 13:31:39 UTC 2006 tru@mullway.bis.pasteur.fr:/home/tru/NetBSD-3.0/usr/src/sys/arch/i386/compile/GENERIC.ACPI.IEEE1394-2 i386
Architecture: i386
Machine: i386
>Description:
When 2 firewire hard drives are attached to a 3 port PCI firewire card, the kernel panic.
When one only enable one port, the machine boots properly.
The hardware work fine under the same configuration under linux which rules out
a possible hardware cause.

** booting with  both drives **

NetBSD 3.0 (GENERIC.ACPI.IEEE1394-2) #2: Thu Jan 26 13:31:39 UTC 2006
        tru@mullway.bis.pasteur.fr:/home/tru/NetBSD-3.0/usr/src/sys/arch/i386/compile/GENERIC.ACPI.IEEE1394-2
...
fwohci0 at pci0 dev 7 function 0: VIA Technologies VT6306 IEEE 1394 Host Controller (rev. 0x46)
fwohci0: interrupting at irq 10
fwohci0: OHCI 1.0, 00:11:06:00:00:00:3d:75, 400Mb/s, 2048 max_rec, 8 ir_ctx, 8 it_ctx
...

fw at fwohci0 not configured
fwnode0 at fwohci0 Node 0: UID 00:30:e0:01:e0:00:00:d2
fwnode1 at fwohci0 Node 1: UID 00:30:e0:01:00:00:01:f3
fwnode0: Link Speed: 400Mb/s, max_rec: 64 bytes
sbpscsi0 at fwnode0
scsibus0 at sbpscsi0: 1 target, 1 lun per target
fwnode1: Link Speed: 400Mb/s, max_rec: 64 bytes
sbpscsi1 at fwnode1
scsibus1 at sbpscsi1: 1 target, 1 lun per target
sd0 at scsibus0 target 0 lun 0: <IC35L120, AVVA07-0, > simplified direct fixed
sd0: 115 GB, 117800 cyl, 64 head, 32 sec, 512 bytes/sect x 241254720 sectors
...
uvm_fault(0xc0876400, 0, 0, 1) -> 0xe
kernel: page fault trap, code=0
Stopped in pid 0.1 (swapper) at netbsd:fwohci_handler_set+0x6b: cmpl    %ecx,0x8
(%esi)
db> bt   
fwohci_handler_set(c11dc000,1,0,f0020000,200) at netbsd:fwohci_handler_set+0x6b
fwohci_inreg(c1403f50,1,c09514e8,c02ab1db,da) at netbsd:fwohci_inreg+0x7e
sbp2_runcmd(c1396180,c0951510,8,293,c13bc700) at netbsd:sbp2_runcmd+0x4e2
sbpscsi_scsipi_request(c1402e68,0,c11f6000,6,0) at netbsd:sbpscsi_scsipi_request
+0xff
scsipi_run_queue(c1402e68,c11f6094,c09519a8,c0441be0,c11f6010) at netbsd:scsipi_
run_queue+0x140
scsipi_execute_xs(c11f6000,1,a,282,200) at netbsd:scsipi_execute_xs+0x1c3
sdstart(c13bc300,c11f9174,e614140,0,e) at netbsd:sdstart+0x1ef
sdstrategy(c11f9174,0,c0951aa8,246,0) at netbsd:sdstrategy+0x1db
read_sector(c0951b50,0,c0951ae8,c04433cb,c1402e68) at netbsd:read_sector+0x40
scan_mbr(c0951b50,c0430fa4,800,0,0) at netbsd:scan_mbr+0x2e
readdisklabel(3,c044c428,c1402800,c1402600,1) at netbsd:readdisklabel+0xc8
sdgetdisklabel(c1402a00,c1402b24,0,15,c0879f20) at netbsd:sdgetdisklabel+0x68
sdopen(403,1,6000,0,c0879f20) at netbsd:sdopen+0x25f
spec_open(c0951c60,120,0,c1402a00,c0641120) at netbsd:spec_open+0x209
VOP_OPEN(cac4d1f8,1,ffffffff,0,c14068d8) at netbsd:VOP_OPEN+0x34
match_bootwedge(c1402a00,c087b7a4,c0951f58,c11a7c00,0) at netbsd:match_bootwedge
+0xa1
findroot(0,c08765e0,c0951fa0,c0374441,0) at netbsd:findroot+0x173
cpu_rootconf(0,0,0,0,0) at netbsd:cpu_rootconf+0xb
main(0,0,0,0,0) at netbsd:main+0x3c9
db> 

** with only one firewire port enabled **

> boot -c
booting hd0a:netbsd (howto 0x1000)
7240700+301124+365296 [410768+379099]=0x84c7cc
kenter: 0x00002000
acpi: wakecode is installed at 0x2000, size=328
BIOS CFG: Model-SubM-Rev: fc-01-00, 0x74<EBDA,KBDINT,RTC,IC2>
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
    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 3.0 (GENERIC.ACPI.IEEE1394-2) #2: Thu Jan 26 13:31:39 UTC 2006
        tru@mullway.bis.pasteur.fr:/home/tru/NetBSD-3.0/usr/src/sys/arch/i386/compile/GENERIC.ACPI.IEEE1394-2
total memory = 511 MB
avail memory = 492 MB
userconf: configure system autoconfiguration:
uc> disable fwnode1
[405] fwnode1 disabled
uc> disable fwnode2
[406] fwnode2 disabled
uc> quit
...
fwohci0 at pci0 dev 7 function 0: VIA Technologies VT6306 IEEE 1394 Host Controller (rev. 0x46)
fwohci0: interrupting at irq 10
fwohci0: OHCI 1.0, 00:11:06:00:00:00:3d:75, 400Mb/s, 2048 max_rec, 8 ir_ctx, 8 it_ctx
...
fw at fwohci0 not configured
fwnode0 at fwohci0 Node 0: UID 00:30:e0:01:e0:00:00:d2
fwnode at fwohci0 not configured
fwnode0: Link Speed: 400Mb/s, max_rec: 64 bytes
sbpscsi0 at fwnode0
scsibus0 at sbpscsi0: 1 target, 1 lun per target
sd0 at scsibus0 target 0 lun 0: <IC35L120, AVVA07-0, > simplified direct fixed
sd0: 115 GB, 117800 cyl, 64 head, 32 sec, 512 bytes/sect x 241254720 sectors
...
login:

** under linux with both drives **

Linux version 2.6.9-22.0.2.106.unsupported (buildcentos@build-i386) (gcc version 3.4.5 20051201 (Red Hat 3.4.5-2)) #1 Fri Jan 20 05:30:50 CST 2006
...
ieee1394: Initialized config rom entry `ip1394'
ohci1394: $Rev: 1223 $ Ben Collins <bcollins@debian.org>
ACPI: PCI interrupt 0000:00:07.0[A] -> GSI 10 (level, low) -> IRQ 10
ohci1394: fw-host0: OHCI-1394 1.0 (PCI): IRQ=[10]  MMIO=[dffff800-dfffffff]  Max Packet=[2048]
...
ieee1394: Node added: ID:BUS[0-00:1023]  GUID[0030e001e00000d2]
ieee1394: Host added: ID:BUS[0-01:1023]  GUID[0011060000003d75]
ieee1394: Node added: ID:BUS[0-02:1023]  GUID[0030e001000001f3]
ieee1394: The root node is not cycle master capable; selecting a new root node and resetting...
ieee1394: Node changed: 0-02:1023 -> 0-01:1023
ieee1394: Node changed: 0-01:1023 -> 0-02:1023
SCSI subsystem initialized
sbp2: $Rev: 1219 $ Ben Collins <bcollins@debian.org>
scsi0 : SCSI emulation for IEEE-1394 SBP-2 Devices
...
ieee1394: sbp2: Logged into SBP-2 device
ieee1394: Node 0-00:1023: Max speed [S400] - Max payload [2048]
  Vendor: IC35L120  Model: AVVA07-0          Rev:     
  Type:   Direct-Access                      ANSI SCSI revision: 06
scsi1 : SCSI emulation for IEEE-1394 SBP-2 Devices
SCSI device sda: 241254720 512-byte hdwr sectors (123522 MB)
sda: asking for cache data failed
sda: assuming drive cache: write through
 sda: sda1 sda2 sda3 sda4
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
Adding 4192956k swap on /dev/hda3.  Priority:-1 extents:1
...
ieee1394: sbp2: Logged into SBP-2 device
ieee1394: Node 0-01:1023: Max speed [S400] - Max payload [2048]
  Vendor: WDC WD12  Model: 00BB-00CAA1       Rev:     
  Type:   Direct-Access                      ANSI SCSI revision: 06
SCSI device sdb: 234441648 512-byte hdwr sectors (120034 MB)
sdb: asking for cache data failed
sdb: assuming drive cache: write through
 sdb: sdb1
Attached scsi disk sdb at scsi1, channel 0, id 0, lun 0

** kernel config **
include "arch/i386/conf/GENERIC"
fwohci* at pci? dev ? function ?       # IEEE1394 Open Host Controller
fwnode0 at fwbus? idhi ? idlo ?
fwnode1 at fwbus? idhi ? idlo ?
fwnode2 at fwbus? idhi ? idlo ?
sbpscsi* at fwnode?
scsibus* at sbpscsi?
acpi0           at mainbus0
options         ACPI_PCI_FIXUP          # PCI interrupt routing via ACPI
acpiacad*       at acpi?                # ACPI AC Adapter
acpibat*        at acpi?                # ACPI Battery
acpibut*        at acpi?                # ACPI Button
acpiec*         at acpi?                # ACPI Embedded Controller
acpilid*        at acpi?                # ACPI Lid Switch
acpitz*         at acpi?                # ACPI Thermal Zone
npx*            at acpi?                # Math coprocessor
pckbc*          at acpi?                # PC keyboard controller

>How-To-Repeat:
boot a kernel with 2 ieee1394 hard drive plugged on the same PCI ieee1394 card.

>Fix:
unknown