Ver Fonte

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 há 18 anos atrás
pai
commit
e254a4b45f
1 ficheiros alterados com 2 adições e 1 exclusões
  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