summaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2009-01-15 06:32:58 +0100
committerDan Williams <dan.j.williams@intel.com>2009-01-15 06:32:58 +0100
commit6782dfe44acedf1e583d84e9e0d4f966d8e9befa (patch)
tree508ec1430f22f8b099231b8c8bcd8ef26c940d8b /drivers/dma
parentdmatest: Use custom map/unmap for destination buffer (diff)
downloadlinux-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.c3
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);