diff options
author | Andreas Mohr <andi@lisas.de> | 2009-06-02 18:15:12 +0200 |
---|---|---|
committer | Karsten Keil <keil@b1-systems.de> | 2009-06-11 19:04:59 +0200 |
commit | cdae28e1a28f26c765c5882a48b9fd4a5b9ce91c (patch) | |
tree | cbe9107f6a15089d8503944bcf85937420157ac3 /drivers/isdn/hardware | |
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/hardware')
-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 776afc8c927..228ffbed128 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) printk(KERN_WARNING "HFC PCI: IRQ(%d) getting no interrupts " "during init %d\n", hc->irq, 4 - cnt); - if (cnt == 1) { - spin_unlock_irqrestore(&hc->lock, flags); - return -EIO; - } else { + if (cnt == 1) + break; + else { reset_hfcpci(hc); cnt--; } |