Title: [5809] trunk/arch/blackfin/kernel/bfin_dma_5xx.c: set_dma_callback: do not store .irq if request_irq() failed so we dont turn around and attempt to free_irq() it later on in free_dma()
- Revision
- 5809
- Author
- vapier
- Date
- 2008-12-04 02:10:55 -0600 (Thu, 04 Dec 2008)
Log Message
set_dma_callback: do not store .irq if request_irq() failed so we dont turn around and attempt to free_irq() it later on in free_dma()
Modified Paths
Diff
Modified: trunk/arch/blackfin/kernel/bfin_dma_5xx.c (5808 => 5809)
--- trunk/arch/blackfin/kernel/bfin_dma_5xx.c 2008-12-04 08:06:33 UTC (rev 5808)
+++ trunk/arch/blackfin/kernel/bfin_dma_5xx.c 2008-12-04 08:10:55 UTC (rev 5809)
@@ -157,18 +157,16 @@
&& channel < MAX_DMA_CHANNELS));
if (callback != NULL) {
- int ret_val;
- dma_ch[channel].irq = channel2irq(channel);
- dma_ch[channel].data = ""
+ int ret;
+ unsigned int irq = channel2irq(channel);
- ret_val =
- request_irq(dma_ch[channel].irq, callback, IRQF_DISABLED,
- dma_ch[channel].device_id, data);
- if (ret_val) {
- printk(KERN_NOTICE
- "Request irq in DMA engine failed.\n");
- return -EPERM;
- }
+ ret = request_irq(irq, callback, IRQF_DISABLED,
+ dma_ch[channel].device_id, data);
+ if (ret)
+ return ret;
+
+ dma_ch[channel].irq = irq;
+ dma_ch[channel].data = ""
}
return 0;
}
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
http://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits