diff options
author | Peter Korsgaard <jacmet@sunsite.dk> | 2009-01-15 06:32:58 +0100 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2009-01-15 06:32:58 +0100 |
commit | 6782dfe44acedf1e583d84e9e0d4f966d8e9befa (patch) | |
tree | 508ec1430f22f8b099231b8c8bcd8ef26c940d8b /drivers/dma | |
parent | dmatest: Use custom map/unmap for destination buffer (diff) | |
download | linux-6782dfe44acedf1e583d84e9e0d4f966d8e9befa.tar.xz linux-6782dfe44acedf1e583d84e9e0d4f966d8e9befa.zip |
fsldma: check for NO_IRQ in fsl_dma_chan_remove()
There's no per-channel IRQ on mpc83xx, so only call free_irq if we have one.
Acked-by: Timur Tabi <timur@freescale.com>
Acked-by: Li Yang <leoli@freescale.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/dma')
-rw-r--r-- | drivers/dma/fsldma.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/dma/fsldma.c b/drivers/dma/fsldma.c index 748e140c5a18..b1b45eb42cb2 100644 --- a/drivers/dma/fsldma.c +++ b/drivers/dma/fsldma.c @@ -890,7 +890,8 @@ err_no_reg: 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); |