usb/105361: [panic] Kernel panic during unmounting mass storage (Creative mp3 player)

Rahul Siddharthan rsidd120 at gmail.com
Sat Aug 25 09:32:06 PDT 2007


On 8/25/07, M. Warner Losh <imp at bsdimp.com> wrote:
> Yes, but does it have this quirk?  Please send usbdevs -v for this
> device.

The relevant bit is:
Controller /dev/usb2:
addr 1: high speed, self powered, config 1, EHCI root hub(0x0000),
VIA(0x0000), rev 1.00
 port 1 powered
 port 2 powered
 port 3 powered
 port 4 addr 2: high speed, power 98 mA, config 1, USB Mass Storage
Device(0x0151), vendor 0x0457(0x0457), rev 1.00

(there are UHCI controllers /dev/usb0 and /dev/usb1 with nothing attached.)

However, I take back what I said about the problem being fixed by
commenting out the clear endpoint stall thing.  It's not working any
more -- and, moreover, the hard disk light stays on after I insert the
USB stick.  And if I remove it, there's an instant panic.

I have now reverted that change to usb_subr.c.  Now it lets me insert the
stick and remove it, but if I do that 2-3 times (not in quick succession),
it panics.  Below is a backtrace.  (Sorry for poor formatting if any
-- I don't
have a sane non-work mail account set up at the moment.)

Rahul

#0  doadump () at pcpu.h:195
#1  0xc05d88a3 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:409
#2  0xc05d8acc in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:563
#3  0xc046ea87 in db_panic (addr=Could not find the frame base for "db_panic".
) at /usr/src/sys/ddb/db_command.c:433
#4  0xc046f1e5 in db_command_loop () at /usr/src/sys/ddb/db_command.c:401
#5  0xc0470c15 in db_trap (type=12, code=0) at /usr/src/sys/ddb/db_main.c:222
#6  0xc05fe464 in kdb_trap (type=12, code=0, tf=0xd2b2f974)
    at /usr/src/sys/kern/subr_kdb.c:502
#7  0xc0849f9f in trap_fatal (frame=0xd2b2f974, eva=0)
    at /usr/src/sys/i386/i386/trap.c:863
#8  0xc084a240 in trap_pfault (frame=0xd2b2f974, usermode=0, eva=0)
    at /usr/src/sys/i386/i386/trap.c:785
#9  0xc084abb2 in trap (frame=0xd2b2f974) at /usr/src/sys/i386/i386/trap.c:463
#10 0xc0833c5b in calltrap () at /usr/src/sys/i386/i386/exception.s:139
#11 0xc044d4eb in xpt_done (done_ccb=0xc288ac00)
    at /usr/src/sys/cam/cam_xpt.c:4856
#12 0xc045377e in probedone (periph=0xc2dc9200, done_ccb=Variable
"done_ccb" is not available.
)
    at /usr/src/sys/cam/cam_xpt.c:6331
#13 0xc044f521 in camisr_runqueue (V_queue=Variable "V_queue" is not available.
) at /usr/src/sys/cam/cam_xpt.c:7255
#14 0xc0453d8f in xpt_bus_deregister (pathid=1)
    at /usr/src/sys/cam/cam_xpt.c:4442
#15 0xc055a940 in umass_cam_detach_sim (sc=0xc2bfc800)
    at /usr/src/sys/dev/usb/umass.c:2694
#16 0xc055a9ed in umass_detach (self=0xc2dc9c00)
    at /usr/src/sys/dev/usb/umass.c:1542
#17 0xc05f8be8 in device_detach (dev=0xc2dc9c00) at device_if.h:212
#18 0xc0560bc2 in usb_disconnect_port (up=0xc2768bec, parent=0xc2768c00)
    at /usr/src/sys/dev/usb/usb_subr.c:1382
#19 0xc0557ebe in uhub_explore (dev=0xc2768e00)
    at /usr/src/sys/dev/usb/uhub.c:462
#20 0xc055ed95 in usb_discover (v=Variable "v" is not available.
) at /usr/src/sys/dev/usb/usb.c:724
#21 0xc055fd6a in usb_event_thread (arg=0xc2767080)
    at /usr/src/sys/dev/usb/usb.c:440
#22 0xc05b9186 in fork_exit (callout=0xc055fcc0 <usb_event_thread>,
    arg=0xc2767080, frame=0xd2b2fd38) at /usr/src/sys/kern/kern_fork.c:797
#23 0xc0833cd0 in fork_trampoline () at /usr/src/sys/i386/i386/exception.s:205


More information about the freebsd-usb mailing list