From: Kristian Høgsberg Date: Wed, 7 Mar 2007 17:12:38 +0000 (-0500) Subject: firewire: Clear all interrupt bits before shutting down. X-Git-Tag: v2.6.22-rc1~111^2~70 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=e254a4b45f265d9df120b83d5c2c9437902b601b;p=linux-2.6-omap-h63xx.git 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 Signed-off-by: Stefan Richter --- diff --git a/drivers/firewire/fw-ohci.c b/drivers/firewire/fw-ohci.c index 50815410432..37467923e98 100644 --- a/drivers/firewire/fw-ohci.c +++ b/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