diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c index 748e140c5a184397895f2b31fc3414b7352e9af4..b1b45eb42cb2af0476a64f723c91af35ed9fa15d 100644 --- a/drivers/dma/fsldma.c +++ b/drivers/dma/fsldma.c @@ -890,7 +890,8 @@ static int __devinit fsl_dma_chan_probe(struct fsl_dma_device *fdev, static void fsl_dma_chan_remove(struct fsl_dma_chan *fchan) { - free_irq(fchan->irq, fchan); + if (fchan->irq != NO_IRQ) + free_irq(fchan->irq, fchan); list_del(&fchan->common.device_node); iounmap(fchan->reg_base); kfree(fchan);