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>
This commit is contained in:
Kristian Høgsberg 2007-03-07 12:12:38 -05:00 коммит произвёл Stefan Richter
Родитель 49e1179b16
Коммит e254a4b45f
1 изменённых файлов: 2 добавлений и 1 удалений

Просмотреть файл

@ -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