On Fri, 23 Sep 2005, Oliver Neukum wrote: > 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. Furthermore, isn't it true that tasklets, like all bottom halves, run with interrupts enabled? Alan Stern ------------------------------------------------------- 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 _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel