From bb0dcebef99fd024c0fb2703179bc7d1fd5ee995 Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Thu, 19 Nov 2015 19:24:33 -0500 Subject: [PATCH] ipmi: Remove unnecessary pci_disable_device. We call cleanup_one_si from ipmi_pci_remove, which calls ->addr_source_cleanup, which gets set to point to ipmi_pci_cleanup, which does a pci_disable_device. On return from this, we do a second pci_disable_device, which results in the trace below. ipmi_si 0000:00:16.0: disabling already-disabled device Call Trace: [] dump_stack+0x45/0x57 [] warn_slowpath_common+0x97/0xe0 [] warn_slowpath_fmt+0x46/0x50 [] pci_disable_device+0xb1/0xc0 [] ipmi_pci_remove+0x25/0x30 [ipmi_si] [] pci_device_remove+0x46/0xc0 [] __device_release_driver+0x7f/0xf0 [] driver_detach+0xb8/0xc0 [] bus_remove_driver+0x50/0xa0 [] driver_unregister+0x2e/0x60 [] pci_unregister_driver+0x25/0x90 [] cleanup_ipmi_si+0xd4/0xf0 [ipmi_si] [] SyS_delete_module+0x12a/0x200 [] system_call_fastpath+0x12/0x17 Signed-off-by: Dave Jones --- drivers/char/ipmi/ipmi_si_intf.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c index 440574d..9fda22e 100644 --- a/drivers/char/ipmi/ipmi_si_intf.c +++ b/drivers/char/ipmi/ipmi_si_intf.c @@ -2559,7 +2559,6 @@ static void ipmi_pci_remove(struct pci_dev *pdev) { struct smi_info *info = pci_get_drvdata(pdev); cleanup_one_si(info); - pci_disable_device(pdev); } static const struct pci_device_id ipmi_pci_devices[] = { -- 2.7.4