iop-adma: fix lockdep false positive
lockdep correctly identifies a potential recursive locking case for iop_chan->lock, but in the dependency submission case we expect that the same class will be acquired for both the parent dependency and the child channel. Signed-off-by: Dan Williams <dan.j.williams@intel.com>
This commit is contained in:
Родитель
507fbec4cf
Коммит
72be12f0c3
|
@ -288,7 +288,12 @@ static void iop_adma_tasklet(unsigned long data)
|
||||||
{
|
{
|
||||||
struct iop_adma_chan *iop_chan = (struct iop_adma_chan *) data;
|
struct iop_adma_chan *iop_chan = (struct iop_adma_chan *) data;
|
||||||
|
|
||||||
spin_lock(&iop_chan->lock);
|
/* lockdep will flag depedency submissions as potentially
|
||||||
|
* recursive locking, this is not the case as a dependency
|
||||||
|
* submission will never recurse a channels submit routine.
|
||||||
|
* There are checks in async_tx.c to prevent this.
|
||||||
|
*/
|
||||||
|
spin_lock_nested(&iop_chan->lock, SINGLE_DEPTH_NESTING);
|
||||||
__iop_adma_slot_cleanup(iop_chan);
|
__iop_adma_slot_cleanup(iop_chan);
|
||||||
spin_unlock(&iop_chan->lock);
|
spin_unlock(&iop_chan->lock);
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче