dmaengine: coh901318: Fix a double lock bug in dma_tc_handle()
commit5.4-rM2-2.2.x-imx-squashed36d5d22090
upstream. The caller is already holding the lock so this will deadlock. Fixes:0b58828c92
("DMAENGINE: COH 901 318 remove irq counting") Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Link: https://lore.kernel.org/r/20200217144050.3i4ymbytogod4ijn@kili.mountain Signed-off-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
parent
08d67499d2
commit
5293e17978
|
@ -1947,8 +1947,6 @@ static void dma_tc_handle(struct coh901318_chan *cohc)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
spin_lock(&cohc->lock);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* When we reach this point, at least one queue item
|
* When we reach this point, at least one queue item
|
||||||
* should have been moved over from cohc->queue to
|
* should have been moved over from cohc->queue to
|
||||||
|
@ -1969,8 +1967,6 @@ static void dma_tc_handle(struct coh901318_chan *cohc)
|
||||||
if (coh901318_queue_start(cohc) == NULL)
|
if (coh901318_queue_start(cohc) == NULL)
|
||||||
cohc->busy = 0;
|
cohc->busy = 0;
|
||||||
|
|
||||||
spin_unlock(&cohc->lock);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This tasklet will remove items from cohc->active
|
* This tasklet will remove items from cohc->active
|
||||||
* and thus terminates them.
|
* and thus terminates them.
|
||||||
|
|
Loading…
Reference in New Issue