panic: ohci_abort_xfer: not in process context

Matthew Dillon dillon at
Sun Sep 6 19:16:20 PDT 2009

:Inserted an usb flash drive into the usb port and started a dd of=/dev/da8
:(tried to dd a dfly usb image onto the flash drive). After a second of
:activity on the flash drive, dd got stuck in physstr state and the whole usb
:stack seemed to be blocked (had a usb mouse plugged in which stopped
:responding). After playing around a bit I disconnected a tip(1) session on

    This has happened to me.

:ucom0 (have an usb->serial converter so that I can abuse the serial console on
:another machine) and a panic occured.
:Note: I'm not sure but during the playing around I think I also tried
:kldloading ehci to see if anything happened.

    I looked at your kernel core.  The two problems are related.  The USB
    interrupt is trying to allocate memory from its interrupt and is stuck
    in contigmalloc().  That leaves the interrupt count bumped and
    caused the assertion when you disconnected from the tip session.

    Basically folks we need to significantly rewrite the usb driver.
    I'll see if I can at least get the memory allocations out of
    the interrupt code at least, that might help matters.


More information about the Bugs mailing list