diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c
index 5a16998a99e2e21842d1405413d048ec3e6d2884..1759b1b173c616639369edd9ccba3c1eabbf01ff 100644
--- a/drivers/dma/mxs-dma.c
+++ b/drivers/dma/mxs-dma.c
@@ -769,6 +769,12 @@ static bool mxs_dma_filter_fn(struct dma_chan *chan, void *fn_param)
 	struct mxs_dma_engine *mxs_dma = mxs_chan->mxs_dma;
 	int chan_irq;
 
+	if (strcmp(chan->device->dev->driver->name, "mxs-dma"))
+		return false;
+
+	if (!mxs_dma)
+		return false;
+
 	if (mxs_dma->dma_device.dev->of_node != param->of_node)
 		return false;