From: Tony Luck 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" : 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 --- 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); _