diff options
author | Andreas Mohr <andi@lisas.de> | 2009-06-02 12:15:12 -0400 |
---|---|---|
committer | Karsten Keil <keil@b1-systems.de> | 2009-06-11 13:04:59 -0400 |
commit | cdae28e1a28f26c765c5882a48b9fd4a5b9ce91c (patch) | |
tree | cbe9107f6a15089d8503944bcf85937420157ac3 /drivers/isdn | |
parent | 1ce1513f48e3bc4d55ee672f0e39f5063a02ab7a (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.c | 7 |
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 | } |