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 years ago
parent
commit
e254a4b45f
1 changed files with 2 additions and 1 deletions
  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;
 	struct fw_ohci *ohci;
 
 
 	ohci = pci_get_drvdata(dev);
 	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);
 	fw_core_remove_card(&ohci->card);
 
 
 	/* FIXME: Fail all pending packets here, now that the upper
 	/* FIXME: Fail all pending packets here, now that the upper