aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn
diff options
context:
space:
mode:
authorAndreas Mohr <andi@lisas.de>2009-06-02 12:15:12 -0400
committerKarsten Keil <keil@b1-systems.de>2009-06-11 13:04:59 -0400
commitcdae28e1a28f26c765c5882a48b9fd4a5b9ce91c (patch)
treecbe9107f6a15089d8503944bcf85937420157ac3 /drivers/isdn
parent1ce1513f48e3bc4d55ee672f0e39f5063a02ab7a (diff)
mISDN: Free hfcpci IRQ if init was not successful
If we get no interrupts for after 3 resets we need to unregister the interrupt function, which is already done outside the loop. Signed-off-by: Andreas Mohr <andi@lisas.de> Signed-off-by: Karsten Keil <keil@b1-systems.de>
Diffstat (limited to 'drivers/isdn')
-rw-r--r--drivers/isdn/hardware/mISDN/hfcpci.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/isdn/hardware/mISDN/hfcpci.c b/drivers/isdn/hardware/mISDN/hfcpci.c
index 776afc8c9270..228ffbed1286 100644
--- a/drivers/isdn/hardware/mISDN/hfcpci.c
+++ b/drivers/isdn/hardware/mISDN/hfcpci.c
@@ -1806,10 +1806,9 @@ init_card(struct hfc_pci *hc)
1806 printk(KERN_WARNING 1806 printk(KERN_WARNING
1807 "HFC PCI: IRQ(%d) getting no interrupts " 1807 "HFC PCI: IRQ(%d) getting no interrupts "
1808 "during init %d\n", hc->irq, 4 - cnt); 1808 "during init %d\n", hc->irq, 4 - cnt);
1809 if (cnt == 1) { 1809 if (cnt == 1)
1810 spin_unlock_irqrestore(&hc->lock, flags); 1810 break;
1811 return -EIO; 1811 else {
1812 } else {
1813 reset_hfcpci(hc); 1812 reset_hfcpci(hc);
1814 cnt--; 1813 cnt--;
1815 } 1814 }