From: Tony Luck <tony.luck@intel.com>

The "Badness in iosapic_unregister_intr at arch/ia64/kernel/iosapic.c:851"
messages are caused by a missing call to free_irq() in the mpt/fusion driver.

("Moore, Eric Dean" <Eric.Moore@lsil.com>: I'm not sure about this change. 
When we resume, how will interrupts be enabled back?  The call request_irq
function only occurs from the contents of the probe entry point.)


Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 drivers/message/fusion/mptbase.c |    2 ++
 1 files changed, 2 insertions(+)

diff -puN drivers/message/fusion/mptbase.c~mpt-fusion-free-irq-in-suspend drivers/message/fusion/mptbase.c
--- devel/drivers/message/fusion/mptbase.c~mpt-fusion-free-irq-in-suspend	2005-09-07 20:09:59.000000000 -0700
+++ devel-akpm/drivers/message/fusion/mptbase.c	2005-09-07 20:09:59.000000000 -0700
@@ -1389,6 +1389,8 @@ mpt_suspend(struct pci_dev *pdev, pm_mes
 	/* Clear any lingering interrupt */
 	CHIPREG_WRITE32(&ioc->chip->IntStatus, 0);
 
+	free_irq(ioc->pci_irq, ioc);
+
 	pci_disable_device(pdev);
 	pci_set_power_state(pdev, device_state);
 
_