浏览代码

firewire: nosy: fix IRQ handler for card ejection

Untested, I don't have a PCILynx CardBus card.

Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Stefan Richter 15 年之前
父节点
当前提交
165476671f
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      drivers/firewire/nosy.c

+ 4 - 0
drivers/firewire/nosy.c

@@ -444,6 +444,10 @@ irq_handler(int irq, void *device)
 
 
 	pci_int_status = reg_read(lynx, PCI_INT_STATUS);
 	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)
 	if ((pci_int_status & PCI_INT_INT_PEND) == 0)
 		/* Not our interrupt, bail out quickly. */
 		/* Not our interrupt, bail out quickly. */
 		return IRQ_NONE;
 		return IRQ_NONE;