mISDN: Free hfcpci IRQ if init was not successful
authorAndreas Mohr <andi@lisas.de>
Tue, 2 Jun 2009 16:15:12 +0000 (18:15 +0200)
committerKarsten Keil <keil@b1-systems.de>
Thu, 11 Jun 2009 17:04:59 +0000 (19:04 +0200)
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>
drivers/isdn/hardware/mISDN/hfcpci.c

index 776afc8c9270c71edeb2d57ab3a27f2816d50f88..228ffbed1286fc850f8d5533cd5368f9c23288d2 100644 (file)
@@ -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--;
                        }