aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/dma
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2009-01-15 00:32:58 -0500
committerDan Williams <dan.j.williams@intel.com>2009-01-15 00:32:58 -0500
commit6782dfe44acedf1e583d84e9e0d4f966d8e9befa (patch)
tree508ec1430f22f8b099231b8c8bcd8ef26c940d8b /drivers/dma
parentd86be86e9aab221089d72399072511f13fe2a771 (diff)
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:
890 890
891static void fsl_dma_chan_remove(struct fsl_dma_chan *fchan) 891static void fsl_dma_chan_remove(struct fsl_dma_chan *fchan)
892{ 892{
893 free_irq(fchan->irq, fchan); 893 if (fchan->irq != NO_IRQ)
894 free_irq(fchan->irq, fchan);
894 list_del(&fchan->common.device_node); 895 list_del(&fchan->common.device_node);
895 iounmap(fchan->reg_base); 896 iounmap(fchan->reg_base);
896 kfree(fchan); 897 kfree(fchan);