diff --git a/drivers/dma/edma.c b/drivers/dma/edma.c index f6653da0ee16..d33ae0b43925 100644 --- a/drivers/dma/edma.c +++ b/drivers/dma/edma.c @@ -619,6 +619,9 @@ static void edma_free_slot(struct edma_cc *ecc, unsigned slot) */ static void edma_link(struct edma_cc *ecc, unsigned from, unsigned to) { + if (unlikely(EDMA_CTLR(from) != EDMA_CTLR(to))) + dev_warn(ecc->dev, "Ignoring eDMA instance for linking\n"); + from = EDMA_CHAN_SLOT(from); to = EDMA_CHAN_SLOT(to); if (from >= ecc->num_slots || to >= ecc->num_slots)