Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: fwohci panic at boot



> Hi! all,
> 
> 
> I fixed some problems.
> The last problem that I know is this now.
> 
> From: "Christoph Egger" <Christoph_Egger%gmx.de@localhost>
> Date: Wed, 12 May 2010 14:13:15 +0200
> 
> > fwohci0: BUS reset
> > panic: kernel diagnostic assertion "!cpu_intr_p()" failed: file
> "sys/kern/subr_kmem.c", line 195
> > fatal breakpoint trap in supervisor mode
> > trap type 1 code 0 rip ffffffff80229ffd cs 8 rflags 246 cr2  0 cpl 6 rsp
> fffffff
> > f80f30b18
> > Stopped in pid 0.1 (system) at  netbsd:breakpoint+0x5:  leave
> > db{0}> bt
> > breakpoint() at netbsd:breakpoint+0x5
> > panic() at netbsd:panic+0x2ba
> > kern_assert() at netbsd:kern_assert+0x2d
> > kmem_alloc() at netbsd:kmem_alloc+0x140
> > kmem_zalloc() at netbsd:kmem_zalloc+0xf
> > fw_busreset() at netbsd:fw_busreset+0x23b
> > fwohci_intr() at netbsd:fwohci_intr+0xa56
> > intr_biglock_wrapper() at netbsd:intr_biglock_wrapper+0x1d
> > Xintr_ioapic_level9() at netbsd:Xintr_ioapic_level9+0xf4
> > --- interrupt ---
> > Xspllower() at netbsd:Xspllower+0xe
> > main() at netbsd:main+0x21c
> 
> Can you try this patch?
> It use static data buffer and mutex globally.
> 
> Can you solve it smarter?  ;-)
> 
> Thanks,
> --
> kiyohara


I tested the patch and I have another crash now:

fwohci0: interrupting at ioapic0 pin 22
fwohci0: OHCI version 1.10 (ROM=1)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 00:11:d8:00:00:d3:db:d5
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
ieee1394if0 at fwohci0: IEEE1394 bus
fwip0 at ieee1394if0: IP over IEEE1394
panic: lockdebug_lookup: uninitialized lock (lock=0xffffffff80d442c8, 
from=ffffffff802bb05e)
fatal breakpoint trap in supervisor mode
trap type 1 code 0 rip ffffffff8022a07d cs 8 rflags 246 cr2  0 cpl 8 rsp 
ffffffff80f312f0
Stopped in pid 0.1 (system) at  netbsd:breakpoint+0x5:  leave
db{0}> bt
breakpoint() at netbsd:breakpoint+0x5
panic() at netbsd:panic+0x2ba
lockdebug_free() at netbsd:lockdebug_free
mutex_enter() at netbsd:mutex_enter+0x3d6
fw_busreset() at netbsd:fw_busreset+0x23f
firewireattach() at netbsd:firewireattach+0x255
config_attach_loc() at netbsd:config_attach_loc+0x16e
fwohci_init() at netbsd:fwohci_init+0x6ca
fwohci_pci_attach() at netbsd:fwohci_pci_attach+0x20b
config_attach_loc() at netbsd:config_attach_loc+0x16e
pci_probe_device() at netbsd:pci_probe_device+0x2e8
pci_enumerate_bus() at netbsd:pci_enumerate_bus+0x139
pcirescan() at netbsd:pcirescan+0x48
pciattach() at netbsd:pciattach+0x17b
config_attach_loc() at netbsd:config_attach_loc+0x16e
ppbattach() at netbsd:ppbattach+0x18f
config_attach_loc() at netbsd:config_attach_loc+0x16e
pci_probe_device() at netbsd:pci_probe_device+0x2e8
pci_enumerate_bus() at netbsd:pci_enumerate_bus+0x139
pcirescan() at netbsd:pcirescan+0x48
pciattach() at netbsd:pciattach+0x17b
config_attach_loc() at netbsd:config_attach_loc+0x16e
mp_pci_scan() at netbsd:mp_pci_scan+0xa5
mainbus_attach() at netbsd:mainbus_attach+0x397
config_attach_loc() at netbsd:config_attach_loc+0x16e
cpu_configure() at netbsd:cpu_configure+0x26
main() at netbsd:main+0x21c

ffffffff802bb05e is sys/dev/ieee1394/firewire.c:599

which is 

598             src = &fc->crom_src_buf->src;
599             mutex_enter(&newrom_mtx);
600             crom_load(src, newrom_space, CROMSIZE);

the mutex_enter() from your patch.

Christoph


Home | Main Index | Thread Index | Old Index