> > A driver using spin_lock_irq() in a tasklet is buggy. You can always use
> > irqsave. It will just be slower. But in a tasklet or interrupt handler
> > spin_lock() will do. Basically these locks differ in whether they shut down
> > irq processing on the local CPU. In interrupt it is down and must not be
> > reenabled. Therefore spin_lock_irq() is deadly.
> 
> This may depend on the particular architecture or platform.  On x86,
> general interrupts are not always disabled during interrupt handlers.  
> Only the particular IRQ line being handled.

What's more, in the particular case of urb completion callbacks there is
no guarantee that the callback is even called from an interrupt.

Ciao,

Duncan.


-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to