panic on sparc64 with oem fw pci fw card

Andreas Tobler andreast-list at fgznet.ch
Mon Mar 30 14:18:34 PDT 2009


Hi all,

I get the below panic when I load fw support on my sparc64.

I first posted this issue to the sparc64 list. Marius suggested to post 
to fw and simokawa@, here I do.

On suggestion of Marius I modified the fwohci.c with this:

Index: fwohci.c
===================================================================
--- fwohci.c	(revision 190571)
+++ fwohci.c	(working copy)
@@ -527,7 +527,7 @@
  		device_printf(dev, "resetting OHCI...");
  	i = 0;
  	while(OREAD(sc, OHCI_HCCCTL) & OHCI_HCC_RESET) {
-		if (i++ > 100) break;
+		if (i++ > 1000) break;
  		DELAY(1000);
  	}
  	if (firewire_debug)


Also, I hardcoded firewire_debug to 1 since sysctl does not work on not 
loaded modules.

I'm not able to cross debug since I build this kernel on a MacBook Pro. 
I have no second sparc64 available to kgdb the issue.

The kernel I run is the latest and GREATEST (svn r190571), note beside, 
hat off, you all, you provide a really cool and fine OS!

I'm happy to provide more details on request. Also, if you have some 
code changes, please.

TIA,
Andreas
---

u60# kldload firewire
fwohci0: <Texas Instruments TSB12LV23> mem 
0x4008000-0x40087ff,0x400c000-0x400ff
ff at device 4.0 on pci0
fwohci0: latency timer 24 -> 32.
fwohci0: cache size 16 -> 16.
fwohci0: [ITHREAD]
fwohci0: OHCI version 1.0 (ROM=1)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 00:10:74:60:00:00:ee:a9
fwohci0: resetting OHCI...done (loop=0)
panic: pcib: PCI bus B error AFAR 0x1ff840080ec AFSR 0x4000f00000000000
cpuid = 0
KDB: stack backtrace:
panic() at 0xc0336748 = panic+0x1c8
psycho_pci_bus() at 0xc0629308 = psycho_pci_bus+0x88
intr_event_handle() at 0xc030c41c = intr_event_handle+0x5c
intr_execute_handlers() at 0xc0639774 = intr_execute_handlers+0x14
intr_fast() at 0xc0081328 = intr_fast+0x68
-- interrupt level=0xd pil=0 %o7=0xc0372ec0 --
-- data access error %o7=0xc0895800 --
fwphy_rddata() at 0xc0ef8b60 = fwphy_rddata+0x120
fwohci_reset() at 0xc0efb9d8 = fwohci_reset+0x1d8
fwohci_init() at 0xc0efcb54 = fwohci_init+0x9d4
fwohci_pci_attach() at 0xc0eff0f8 = fwohci_pci_attach+0x278
device_attach() at 0xc0366ae4 = device_attach+0x4a4
device_probe_and_attach() at 0xc0367a44 = device_probe_and_attach+0x64
pci_driver_added() at 0xc021c5d4 = pci_driver_added+0x154
devclass_driver_added() at 0xc0364154 = devclass_driver_added+0x74
devclass_add_driver() at 0xc0364e48 = devclass_add_driver+0xa8
driver_module_handler() at 0xc0366578 = driver_module_handler+0x58
module_register_init() at 0xc03227dc = module_register_init+0xdc
linker_load_module() at 0xc0317f34 = linker_load_module+0xbd4
kern_kldload() at 0xc03184f8 = kern_kldload+0xb8
kldload() at 0xc0318680 = kldload+0x60
syscall() at 0xc064aaf0 = syscall+0x2f0
-- syscall (304, FreeBSD ELF64, kldload) %o7=0x1008e0 --
userland() at 0x4045b708
user trace: trap %o7=0x1008e0
pc 0x4045b708, sp 0x7fdffffe1e1
pc 0x1006f0, sp 0x7fdffffe2a1
pc 0x40206934, sp 0x7fdffffe361
done
KDB: enter: panic
[thread pid 1019 tid 100065 ]
Stopped at      0xc036e2c0 = kdb_enter+0x80:    ta              %xcc, 1


More information about the freebsd-firewire mailing list