Browse Source

firewire: Clear all interrupt bits before shutting down.

Some flaky controllers doesn't honor the masterIntEnable bits
and can generate bus reset events even if that bit is cleared.

Signed-off-by: Kristian Høgsberg <krh@redhat.com>
Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Kristian Høgsberg 18 năm trước cách đây
mục cha
commit
e254a4b45f
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  1. 2 1
      drivers/firewire/fw-ohci.c

+ 2 - 1
drivers/firewire/fw-ohci.c

@@ -1943,7 +1943,8 @@ static void pci_remove(struct pci_dev *dev)
 	struct fw_ohci *ohci;
 
 	ohci = pci_get_drvdata(dev);
-	reg_write(ohci, OHCI1394_IntMaskClear, OHCI1394_masterIntEnable);
+	reg_write(ohci, OHCI1394_IntMaskClear, ~0);
+	flush_writes(ohci);
 	fw_core_remove_card(&ohci->card);
 
 	/* FIXME: Fail all pending packets here, now that the upper