panic: uhci_abort_xfer: not in process context

Bernd Walter ticso at cicely12.cicely.de
Sat Apr 2 09:20:56 PST 2005


On Sat, Apr 02, 2005 at 04:32:50PM +0100, Ian Dowse wrote:
> Just a few general comments on this:
[...]

> In summary:
>   non-blocking: good!
>   blocking: good!
>   blocking from non-blocking contexts: bad!

I fully agree with you - in general.
You see the inetrrupt routine as non-blocking context.
Fine - abort_xfer is bad as it blocks for a long time - agreed.
But we need any kind of syncronisation with top half.
Although taking a mutex may block I don't consider it bad as it should
not be hold for long time and therefor waiting a long time is unlikely.
Allowing to wait for a Mutex in the bottom half is the whole reason we
have interrupt threads.
But that is the current problem - we are not even allowed to take
a Mutex, just because intr_context isn't safe.
The panic was triggered by a userland call that was claimed to be in
interrupt context.
OK - I was wrong in that it was not close, but that doesn't change
anything with the basic problem:
The panic triggered when it shouldn't.

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd at bwct.de                                  info at bwct.de



More information about the freebsd-usb mailing list