Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 696d8b70 authored by Peter Ujfalusi's avatar Peter Ujfalusi Committed by Vinod Koul
Browse files

ARM: common: edma: Fix channel parameter for irq callbacks



In case when the interrupt happened for the second eDMA the channel
number was incorrectly passed to the client driver.

Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
CC: <stable@vger.kernel.org>
Signed-off-by: default avatarVinod Koul <vinod.koul@intel.com>
parent 6ff33f39
Loading
Loading
Loading
Loading
+4 −2
Original line number Original line Diff line number Diff line
@@ -406,7 +406,8 @@ static irqreturn_t dma_irq_handler(int irq, void *data)
					BIT(slot));
					BIT(slot));
			if (edma_cc[ctlr]->intr_data[channel].callback)
			if (edma_cc[ctlr]->intr_data[channel].callback)
				edma_cc[ctlr]->intr_data[channel].callback(
				edma_cc[ctlr]->intr_data[channel].callback(
					channel, EDMA_DMA_COMPLETE,
					EDMA_CTLR_CHAN(ctlr, channel),
					EDMA_DMA_COMPLETE,
					edma_cc[ctlr]->intr_data[channel].data);
					edma_cc[ctlr]->intr_data[channel].data);
		}
		}
	} while (sh_ipr);
	} while (sh_ipr);
@@ -460,7 +461,8 @@ static irqreturn_t dma_ccerr_handler(int irq, void *data)
					if (edma_cc[ctlr]->intr_data[k].
					if (edma_cc[ctlr]->intr_data[k].
								callback) {
								callback) {
						edma_cc[ctlr]->intr_data[k].
						edma_cc[ctlr]->intr_data[k].
						callback(k,
						callback(
						EDMA_CTLR_CHAN(ctlr, k),
						EDMA_DMA_CC_ERROR,
						EDMA_DMA_CC_ERROR,
						edma_cc[ctlr]->intr_data
						edma_cc[ctlr]->intr_data
						[k].data);
						[k].data);