sil3124 sata controller panics kernel
Dieter BSD
dieterbsd at gmail.com
Tue Jul 29 17:07:18 UTC 2014
FreeBSD 8.2
AMD64
Has been running with jmb363 and sil3132 sata controllers for years.
siis(4) was last updated 2011-05-15. The 363 died (reason unknown).
Bought 2 sil3124 cards Syba SY-PEX40008 PCIe-x1. (the slots only
take x1 cards, and the 3124 has been recommended many times, I was
expecting it to "just work")
Boot to multiuser with 2 3124 cards and 1 3132 card (and 2 3726 PMs
connected to the 3132). No drives connected to the 3124s. System
running ok. Hotplug a drive's sata data cable into a 3124 port.
(This works fine with 3132 with or without a PM.) 2-3 seconds later I
see a timeout message (common from siis(4)), and then the kernel panics.
Repeatable. The 3124 is unusable.
I looked at the source code hoping to find a clue about the machine check trap,
but no joy. What's going on? How do I fix this?
<SiI3124 SATA controller> port 0x9c00-0x9c0f mem
0xfe8ff000-0xfe8ff07f,0xfe8f0000-0xfe8f7fff irq 17 at device 4.0 on
pci3
siis0: siis_resume() calling DELAY(10000)
siis0: [ITHREAD]
<SIIS channel> at channel 0 on siis0
siisch0: [ITHREAD]
<SIIS channel> at channel 1 on siis0
siisch1: [ITHREAD]
<SIIS channel> at channel 2 on siis0
siisch2: [ITHREAD]
<SIIS channel> at channel 3 on siis0
siisch3: [ITHREAD]
<ACPI PCI-PCI bridge> at device 12.0 on pci0
<ACPI PCI bus> on pcib4
<PCI-PCI bridge> irq 16 at device 0.0 on pci4
<PCI bus> on pcib5
<SiI3124 SATA controller> port 0x8c00-0x8c0f mem
0xfe6ff000-0xfe6ff07f,0xfe6f0000-0xfe6f7fff irq 16 at device 4.0 on
pci5
siis1: siis_resume() calling DELAY(10000)
siis1: [ITHREAD]
<SIIS channel> at channel 0 on siis1
siisch4: [ITHREAD]
<SIIS channel> at channel 1 on siis1
siisch5: [ITHREAD]
<SIIS channel> at channel 2 on siis1
siisch6: [ITHREAD]
<SIIS channel> at channel 3 on siis1
siisch7: [ITHREAD]
<SiI3132 SATA controller> port 0x6c00-0x6c7f mem
0xfe2ff000-0xfe2ff07f,0xfe2f8000-0xfe2fbfff irq 18 at device 0.0 on
pci7
siis2: siis_resume() calling DELAY(10000)
siis2: [ITHREAD]
<SIIS channel> at channel 0 on siis2
siisch8: [ITHREAD]
<SIIS channel> at channel 1 on siis2
siisch9: [ITHREAD]
siisch0: SIIS reset...
siisch0: siis_devreset() calling DELAY(100)
siisch0: siis_sata_connect() calling DELAY(100)
siisch0: siis_sata_connect() calling DELAY(100)
siisch0: siis_sata_connect() calling DELAY(100)
[ ... ]
siisch0: siis_sata_connect() calling DELAY(100)
siisch0: SATA connect timeout time=10000us status=00000000
siisch0: SIIS reset done: phy reset found no device
siisch1: SIIS reset...
siisch1: siis_devreset() calling DELAY(100)
siisch1: siis_sata_connect() calling DELAY(100)
siisch1: siis_sata_connect() calling DELAY(100)
[ ... ]
siisch1: siis_sata_connect() calling DELAY(100)
siisch1: SATA connect timeout time=10000us status=00000000
siisch1: SIIS reset done: phy reset found no device
siisch2: SIIS reset...
siisch2: siis_devreset() calling DELAY(100)
siisch2: siis_sata_connect() calling DELAY(100)
[ ... same again for sil3124 ports 3-7 ]
siisch7: siis_sata_connect() calling DELAY(100)
siisch7: SATA connect timeout time=10000us status=00000000
siisch7: SIIS reset done: phy reset found no device
siisch8: siis_wait_ready() calling DELAY(1000) [ sil3132 ]
siisch9: siis_wait_ready() calling DELAY(1000) [ sil3132 ]
pmp0 at siisch8 bus 0 scbus8 target 15 lun 0
pmp0: <Port Multiplier 37261095 1706> ATA-0 device
pmp0: 300.000MB/s transfers (SATA 2.x, NONE, PIO 8192bytes)
pmp1 at siisch9 bus 0 scbus9 target 15 lun 0
pmp1: <Port Multiplier 37261095 1706> ATA-0 device
pmp1: 300.000MB/s transfers (SATA 2.x, NONE, PIO 8192bytes)
pmp0: 5 fan-out ports
pmp1: 5 fan-out ports
Fatal trap 28: machine check trap while in kernel mode
instruction pointer = 0x20:0xffffffff80904c1b
stack pointer = 0x28:0xffffff8000033a50
frame pointer = 0x28:0xffffff8000033a90
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags = interrupt enabled, IOPL = 0
current process = 12 (swi4: clock)
trap number = 28
panic: machine check trap
KDB: stack backtrace:
#0 0xffffffff8030c93e at kdb_backtrace+0x5e
#1 0xffffffff802de7cd at panic+0x18d
#2 0xffffffff804e2380 at trap_fatal+0x260
#3 0xffffffff804e2965 at trap+0x115
#4 0xffffffff804cda74 at calltrap+0x8
#5 0xffffffff802f0de8 at softclock+0x2b8
#6 0xffffffff802b6ddb at intr_event_execute_handlers+0xfb
#7 0xffffffff802b8446 at ithread_loop+0x96
#8 0xffffffff802b4d38 at fork_exit+0x118
#9 0xffffffff804cdf3e at fork_trampoline+0xe
#0 doadump () at pcpu.h:224
224 pcpu.h: No such file or directory.
in pcpu.h
(kgdb) #0 doadump () at pcpu.h:224
#1 0xffffffff802de36a in boot (howto=260)
at /usr/src/sys/kern/kern_shutdown.c:419
#2 0xffffffff802de72b in panic (fmt=Variable "fmt" is not available.
)
at /usr/src/sys/kern/kern_shutdown.c:592
#3 0xffffffff804e2380 in trap_fatal (frame=0x1c, eva=Variable "eva"
is not available.
)
at /usr/src/sys/amd64/amd64/trap.c:783
#4 0xffffffff804e2965 in trap (frame=0xffffff80000339a0)
at /usr/src/sys/amd64/amd64/trap.c:592
#5 0xffffffff804cda74 in calltrap ()
at /usr/src/sys/amd64/amd64/exception.S:224
#6 0xffffffff80904c1b in siis_timeout (slot=0xffffff8000263bb0) at bus.h:241
#7 0xffffffff802f0de8 in softclock (arg=Variable "arg" is not available.
)
at /usr/src/sys/kern/kern_timeout.c:430
#8 0xffffffff802b6ddb in intr_event_execute_handlers (p=Variable "p"
is not available.
)
at /usr/src/sys/kern/kern_intr.c:1220
#9 0xffffffff802b8446 in ithread_loop (arg=0xffffff0001831680)
at /usr/src/sys/kern/kern_intr.c:1233
#10 0xffffffff802b4d38 in fork_exit (
callout=0xffffffff802b83b0 <ithread_loop>, arg=0xffffff0001831680,
frame=0xffffff8000033c40) at /usr/src/sys/kern/kern_fork.c:845
#11 0xffffffff804cdf3e in fork_trampoline ()
at /usr/src/sys/amd64/amd64/exception.S:565
#12 0x0000000000000000 in ?? ()
#13 0x0000000000000000 in ?? ()
#14 0x0000000000000001 in ?? ()
More information about the freebsd-drivers
mailing list