[PATCH] arch/unicore32/kernel/dma.c: eliminated unneeded free_irq

From: Julia Lawall
Date: Thu Mar 15 2012 - 04:01:46 EST


From: Julia Lawall <Julia.Lawall@xxxxxxx>

The device remains functional if the second request_irq fails, so the first
one should not be freed.

Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>

---
diff --git a/arch/unicore32/kernel/dma.c b/arch/unicore32/kernel/dma.c
index ae441bc..6184ff2 100644
--- a/arch/unicore32/kernel/dma.c
+++ b/arch/unicore32/kernel/dma.c
@@ -172,8 +172,9 @@ int __init puv3_init_dma(void)

ret = request_irq(IRQ_DMAERR, dma_err_handler, 0, "DMAERR", NULL);
if (ret) {
+ /* the device remains function if this fails, so don't free
+ the previously allocated irq */
printk(KERN_CRIT "Can't register IRQ for DMAERR\n");
- free_irq(IRQ_DMA, "DMA");
return ret;
}

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/