[PATCH 1/6] dmaengine/dw_dmac: Replace spin_lock_bh with irqsave variants

Russell King - ARM Linux linux at arm.linux.org.uk
Wed Apr 27 03:28:02 EDT 2011


On Wed, Apr 27, 2011 at 11:29:49AM +0530, viresh kumar wrote:
> There are two kinds of locks taken in dw_dmac: spin_lock_bh and spin_lock.
> spin_lock_bh is taken from routines called from external drivers and spin_lock
> taken inside tasklet.
> For reasons mentioned earlier, spin_lock_bh has to be replaced with spin_lock_irqsave.
> 
> Now, Is simple spin_lock() sufficient inside tasklet?? As dma API's can be called
> from interrupt context (which will try to take spin_lock_irqsave).

Tasklets can be interrupted, so no.



More information about the linux-arm-kernel mailing list