NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/52126: mvsata Marvell 88SX6081 panics on boot
>Number: 52126
>Category: kern
>Synopsis: mvsata Marvell 88SX6081 panics on boot
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Fri Mar 31 15:35:00 +0000 2017
>Originator: Patrick Welche
>Release: NetBSD-7.99.66/amd64
>Organization:
>Environment:
>Description:
First reported in
http://mail-index.netbsd.org/current-users/2017/02/20/msg031172.html
quoting:
mvsata0 at pci5 dev 1 function 0: Marvell 88SX6081 SATA II (rev. 0x09)
mvsata0: interrupting at ioapic1 pin 1
mvsata0: GenII, 2hc, 4port/hc
mvsata0:0:0: unable to stop EDMA
panic: EDMA enabled
but it took me a while to realise that kgdb works much better if you
boot -1
(gdb) bt
#0 0xffffffff80215455 in breakpoint ()
#1 0xffffffff8082c0c8 in vpanic (
fmt=fmt@entry=0xffffffff80edac77 "EDMA enabled",
ap=ap@entry=0xffffffff81645818) at ../../../../kern/subr_prf.c:340
#2 0xffffffff8082c185 in panic (
fmt=fmt@entry=0xffffffff80edac77 "EDMA enabled")
at ../../../../kern/subr_prf.c:258
#3 0xffffffff804b6d21 in mvsata_pmp_select (mvport=0xfffffe811d78d810,
pmpport=0) at ../../../../dev/ic/mvsata.c:241
#4 0xffffffff804b80e1 in mvsata_wdc_cmd_start (chp=0xfffffe811d78d810,
xfer=0xfffffe811dc60f60) at ../../../../dev/ic/mvsata.c:1586
#5 0xffffffff804b7100 in mvsata_exec_command (drvp=<optimized out>,
ata_c=0xffffffff81645978) at ../../../../dev/ic/mvsata.c:677
#6 0xffffffff8026e356 in ata_get_params (drvp=0xfffffe811dcb2e80,
flags=<optimized out>, prms=0xfffffe811dcb358c)
at ../../../../dev/ata/ata.c:762
#7 0xffffffff8026a5a1 in wd_get_params (wd=0xfffffe811dcb3008,
flags=<optimized out>, params=0xfffffe811dcb358c)
at ../../../../dev/ata/wd.c:1776
#8 0xffffffff8026ae08 in wdopen (dev=<optimized out>, flag=<optimized out>,
fmt=24576, l=<optimized out>) at ../../../../dev/ata/wd.c:990
#9 0xffffffff808194b4 in bdev_open (dev=3, flag=1073741825, devtype=24576,
l=0xffffffff812764e0 <lwp0>) at ../../../../kern/subr_devsw.c:716
#10 0xffffffff8089b03d in spec_open (v=0xffffffff81645b20)
at ../../../../miscfs/specfs/spec_vnops.c:609
#11 0xffffffff8088f25c in VOP_OPEN (vp=0xfffffe811dc5fd20,
mode=mode@entry=1073741825, cred=cred@entry=0xffffffffffffffff)
at ../../../../kern/vnode_if.c:238
#12 0xffffffff80668c71 in rf_find_raid_components ()
at ../../../../dev/raidframe/rf_netbsdkintf.c:2874
#13 0xffffffff8066a1ec in rf_autoconfig (self=<optimized out>)
at ../../../../dev/raidframe/rf_netbsdkintf.c:445
#14 0xffffffff808137d4 in config_finalize ()
at ../../../../kern/subr_autoconf.c:2166
#15 0xffffffff80b7d9a1 in main () at ../../../../kern/init_main.c:613
(gdb) frame 4
#4 0xffffffff804b80e1 in mvsata_wdc_cmd_start (chp=0xfffffe811d78d810,
xfer=0xfffffe811dc60f60) at ../../../../dev/ic/mvsata.c:1586
1586 mvsata_pmp_select(mvport, drive);
(gdb) print *xfer
$1 = {c_flags = 16, c_chp = 0xfffffe811d78d810, c_drive = 0,
c_cmd = 0xffffffff81645978, c_databuf = 0xfffffe8125788c88, c_bcount = 512,
c_skip = 0, c_dscpoll = 0, c_lenoff = 0, c_xferchain = {tqe_next = 0x0,
tqe_prev = 0xfffffe811d78de80},
c_start = 0xffffffff804b806b <mvsata_wdc_cmd_start>,
c_intr = 0xffffffff804b7d9f <mvsata_wdc_cmd_intr>,
c_kill_xfer = 0xffffffff804b795a <mvsata_wdc_cmd_kill_xfer>}
(gdb) print {struct ata_command}xfer->c_cmd
$3 = {r_lba = 0, r_count = 0, {r_features = 0, r_error = 0 '\000'}, {
r_command = 236 '\354', r_status = 236 '\354'}, r_device = 0 '\000',
r_st_bmask = 64 '@', r_st_pmask = 8 '\b', flags = 9, timeout = 3000,
data = 0xfffffe8125788c88, bcount = 512, callback = 0x0, callback_arg = 0x0}
flags = 9 = AT_READ | AT_WAIT
r_command = 236 = 0xEC = WDCC_IDENTIFY
so mvsata just seems to be trying to identify the drives on boot. What is EDMA?
>How-To-Repeat:
>Fix:
Home |
Main Index |
Thread Index |
Old Index