aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-omap/dma.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/plat-omap/dma.c')
-rw-r--r--arch/arm/plat-omap/dma.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
index 1c98659bbf89..c2baa8ede543 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
@@ -2102,7 +2102,7 @@ static int omap_system_dma_probe(struct platform_device *pdev)
2102 omap_dma_set_global_params(DMA_DEFAULT_ARB_RATE, 2102 omap_dma_set_global_params(DMA_DEFAULT_ARB_RATE,
2103 DMA_DEFAULT_FIFO_DEPTH, 0); 2103 DMA_DEFAULT_FIFO_DEPTH, 0);
2104 2104
2105 if (dma_omap2plus()) { 2105 if (dma_omap2plus() && !(d->dev_caps & DMA_ENGINE_HANDLE_IRQ)) {
2106 strcpy(irq_name, "0"); 2106 strcpy(irq_name, "0");
2107 dma_irq = platform_get_irq_byname(pdev, irq_name); 2107 dma_irq = platform_get_irq_byname(pdev, irq_name);
2108 if (dma_irq < 0) { 2108 if (dma_irq < 0) {
@@ -2147,7 +2147,8 @@ static int omap_system_dma_remove(struct platform_device *pdev)
2147 char irq_name[4]; 2147 char irq_name[4];
2148 strcpy(irq_name, "0"); 2148 strcpy(irq_name, "0");
2149 dma_irq = platform_get_irq_byname(pdev, irq_name); 2149 dma_irq = platform_get_irq_byname(pdev, irq_name);
2150 remove_irq(dma_irq, &omap24xx_dma_irq); 2150 if (dma_irq >= 0)
2151 remove_irq(dma_irq, &omap24xx_dma_irq);
2151 } else { 2152 } else {
2152 int irq_rel = 0; 2153 int irq_rel = 0;
2153 for ( ; irq_rel < dma_chan_count; irq_rel++) { 2154 for ( ; irq_rel < dma_chan_count; irq_rel++) {