firewire: nosy: fix IRQ handler for card ejection
authorStefan Richter <stefanr@s5r6.in-berlin.de>
Thu, 22 Jul 2010 09:56:38 +0000 (11:56 +0200)
committerStefan Richter <stefanr@s5r6.in-berlin.de>
Tue, 27 Jul 2010 09:04:10 +0000 (11:04 +0200)
Untested, I don't have a PCILynx CardBus card.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
drivers/firewire/nosy.c

index 57a1100..a241b62 100644 (file)
@@ -444,6 +444,10 @@ irq_handler(int irq, void *device)
 
        pci_int_status = reg_read(lynx, PCI_INT_STATUS);
 
+       if (pci_int_status == ~0)
+               /* Card was ejected. */
+               return IRQ_NONE;
+
        if ((pci_int_status & PCI_INT_INT_PEND) == 0)
                /* Not our interrupt, bail out quickly. */
                return IRQ_NONE;