panic: ohci_abort_xfer: not in process context
Matthew Dillon
dillon at apollo.backplane.com
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.
-Matt
More information about the Bugs
mailing list