Date: Sun, 5 May 2002 12:32:37 -0700 (PDT) From: Gordon Tetlow <gordont@gnf.org> To: current@freebsd.org Subject: Crash when attaching usb ethernet Message-ID: <Pine.LNX.4.44.0205051218100.3893-100000@smtp.gnf.org>
next in thread | raw e-mail | index | archive | help
I've got a Seimens SpeedStream USB -> Ethernet adapter that when I plug
into my laptop (built -CURRENT yesterday), it always crashes. Here's the
info:
Fatal trap 12: page fault while in kernel mode
fault virtual address = 0xdeadc0e2
fault code = supervisor read, page not present
instruction pointer = 0x8:0xc01f93e9
stack pointer = 0x10:0xcdd9f3f8
frame pointer = 0x10:0xcdd9f810
code segment = base 0x0, limit 0xfffff, type 0x1b
= DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 23 (usb0)
... snip ...
#11 0xc01f93e9 in aue_attach (self=0xce96a100)
at /usr/src/sys/dev/usb/if_aue.c:682
#12 0xc025a33e in device_probe_and_attach (dev=0xce96a100) at device_if.h:40
#13 0xc020d806 in usbd_probe_and_attach (parent=0xcdd64d80, dev=0xce884c00,
port=1, addr=2) at /usr/src/sys/dev/usb/usb_subr.c:883
#14 0xc020dbf3 in usbd_new_device (parent=0xcdd64d80, bus=0xcdd34000, depth=1,
speed=2, port=1, up=0xcdd64d30) at /usr/src/sys/dev/usb/usb_subr.c:1094
#15 0xc02057a9 in uhub_explore (dev=0xcdd64e80)
at /usr/src/sys/dev/usb/uhub.c:474
#16 0xc020c29d in usb_discover (v=0xcdd62560) at /usr/src/sys/dev/usb/usb.c:716
#17 0xc020bda2 in usb_event_thread (arg=0xcdd62560)
at /usr/src/sys/dev/usb/usb.c:403
#18 0xc023ef36 in fork_exit (callout=0xc020bd58 <usb_event_thread>,
arg=0xcdd62560, frame=0xcdd9fd48) at /usr/src/sys/kern/kern_fork.c:829
(kgdb) select-frame 11
(kgdb) print *sc->aue_iface
$1 = {device = 0xdeadc0de, idesc = 0xdeadc0de, index = -559038242,
altindex = -559038242, endpoints = 0xdeadc0de, priv = 0xdeadc0de, pipes = {
lh_first = 0xdeadc0de}}
(kgdb) select-frame 13
(kgdb) print dev->ifaces[0]
$2 = {device = 0xce884c00, idesc = 0xce87fc49, index = 0, altindex = 0,
endpoints = 0xcdd636c0, priv = 0x0, pipes = {lh_first = 0x0}}
(kgdb) print *uaa->iface
$3 = {device = 0xdeadc0de, idesc = 0xdeadc0de, index = -559038242,
altindex = -559038242, endpoints = 0xdeadc0de, priv = 0xdeadc0de, pipes = {
lh_first = 0xdeadc0de}}
From a cursory look at the code, in frame 13, uaa->iface should be equal
to dev->ifaces[0] but in fact they aren't. I'm wondering if this might
have something to do with the fact that uaa is static. I might be barking
up the wrong tree, I'm not an expert with this. I'll keep the crashdump
for a while if anyone has any more questions.
-gordon
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.44.0205051218100.3893-100000>
