Commit 36d5d220 authored by Dan Carpenter's avatar Dan Carpenter Committed by Vinod Koul
Browse files

dmaengine: coh901318: Fix a double lock bug in dma_tc_handle()



The caller is already holding the lock so this will deadlock.

Fixes: 0b58828c ("DMAENGINE: COH 901 318 remove irq counting")
Signed-off-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20200217144050.3i4ymbytogod4ijn@kili.mountain


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 2d0b1919
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -1947,8 +1947,6 @@ static void dma_tc_handle(struct coh901318_chan *cohc)
		return;
	}

	spin_lock(&cohc->lock);

	/*
	 * When we reach this point, at least one queue item
	 * 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)
		cohc->busy = 0;

	spin_unlock(&cohc->lock);

	/*
	 * This tasklet will remove items from cohc->active
	 * and thus terminates them.