diff options
author | Peter Korsgaard <jacmet@sunsite.dk> | 2009-01-15 00:32:58 -0500 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2009-01-15 00:32:58 -0500 |
commit | 6782dfe44acedf1e583d84e9e0d4f966d8e9befa (patch) | |
tree | 508ec1430f22f8b099231b8c8bcd8ef26c940d8b | |
parent | d86be86e9aab221089d72399072511f13fe2a771 (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>
-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: | |||
890 | 890 | ||
891 | static void fsl_dma_chan_remove(struct fsl_dma_chan *fchan) | 891 | static 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); |