device rue causes kernel panic
Bert JW Regeer
xistence at 0x58.com
Sun Jul 8 00:30:15 UTC 2007
Hello,
I have a USB 10/100 FastEthernet device, that is identified as a
RealTek device. On 6.2-RELEASE it works without any issues, and some
older versions of CURRENT it worked perfectly as well. I csup'ed to
CURRENT today (2007-07-07 at 16:30 MST), rebuild my kernel and it
failed, so I grabbed the hard drive, made a copy into a VMWare image,
recompiled the same CURRENT with debugging enabled, and retrieved the
following backtrace from kgdb from a secondary VMWare running FreeBSD
6.2-RELEASE with kgdb:
(kgdb) bt
#0 kdb_enter (msg=0xc0a90fed "panic") at /usr/src/sys/kern/
subr_kdb.c:310
#1 0xc074b9b4 in panic (fmt=0xc0a94933 "Trying sleep, but thread
marked as sleeping prohibited")
at /usr/src/sys/kern/kern_shutdown.c:547
#2 0xc077a912 in sleepq_add (wchan=0xc2322c00, lock=0x0,
wmesg=0xc0a85dc8 "usbsyn", flags=0, queue=0)
at /usr/src/sys/kern/subr_sleepqueue.c:289
#3 0xc0753d33 in _sleep (ident=0xc2322c00, lock=Variable "lock" is
not available.
) at /usr/src/sys/kern/kern_synch.c:201
#4 0xc06cc498 in usbd_transfer (xfer=0xc2322c00) at /usr/src/sys/dev/
usb/usbdi.c:333
#5 0xc06cc5e6 in usbd_sync_transfer (xfer=0xc2322c00) at /usr/src/
sys/dev/usb/usbdi.c:406
#6 0xc06cc678 in usbd_do_request_flags_pipe (dev=0xc2275300,
pipe=0xc2275100, req=0xcbd46bb8, data=0xcbd46bd3, flags=Variable
"flags" is not available.
)
at /usr/src/sys/dev/usb/usbdi.c:1098
#7 0xc06cc7cc in usbd_do_request_flags (dev=0xc2275300,
req=0xcbd46bb8, data=0xcbd46bd3, flags=Variable "flags" is not
available.
)
at /usr/src/sys/dev/usb/usbdi.c:1068
#8 0xc06cc807 in usbd_do_request (dev=0xc2275300, req=0xcbd46bb8,
data=0xcbd46bd3) at /usr/src/sys/dev/usb/usbdi.c:1060
#9 0xc06ae924 in rue_read_mem (sc=0xc2264d00, addr=Variable "addr"
is not available.
) at /usr/src/sys/dev/usb/if_rue.c:227
#10 0xc06ae9cc in rue_csr_read_1 (sc=Variable "sc" is not available.
) at /usr/src/sys/dev/usb/if_rue.c:276
#11 0xc06aea47 in rue_miibus_readreg (dev=0xc2275080, phy=0, reg=311)
at /usr/src/sys/dev/usb/if_rue.c:376
#12 0xc05f01eb in miibus_readreg (dev=0xc2274d00, phy=0, reg=311) at
miibus_if.h:26
#13 0xc05f5b6e in ruephy_service (sc=0xc2278440, mii=0xc2278d00,
cmd=1) at miibus_if.h:26
#14 0xc05efc14 in mii_tick (mii=0xc2278d00) at /usr/src/sys/dev/mii/
mii.c:390
#15 0xc06aef53 in rue_tick (xsc=0xc2264d00) at /usr/src/sys/dev/usb/
if_rue.c:935
#16 0xc075d229 in softclock (dummy=0x0) at /usr/src/sys/kern/
kern_timeout.c:281
#17 0xc0730905 in ithread_loop (arg=0xc21152b0) at /usr/src/sys/kern/
kern_intr.c:1036
#18 0xc072dd88 in fork_exit (callout=0xc0730750 <ithread_loop>,
arg=0xc21152b0, frame=0xcbd46d38)
at /usr/src/sys/kern/kern_fork.c:797
#19 0xc09e0820 in fork_trampoline () at /usr/src/sys/i386/i386/
exception.s:205
Steps to reproduce:
1. Plug in a rue device
2. plug in a cable so that it's status is active
3. ifconfig rue0 up
4. Wait for the kernel to panic about a second or so later
If there is anything else you guys need me to do, please let me know
and I will see what I can do.
Bert JW Regeer
p.s. I am not on the current at freebsd.org mailling list, please CC all
replies to me.
More information about the freebsd-usb
mailing list