Messages in this thread | | | Date | Mon, 23 Nov 2015 12:37:54 -0600 | From | Corey Minyard <> | Subject | Re: ipmi: Remove unnecessary pci_disable_device. |
| |
Thanks, queued for next release.
-corey
On 11/19/2015 06:24 PM, Dave Jones wrote: > 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: > [<ffffffff818ce54c>] dump_stack+0x45/0x57 > [<ffffffff810525f7>] warn_slowpath_common+0x97/0xe0 > [<ffffffff810526f6>] warn_slowpath_fmt+0x46/0x50 > [<ffffffff81497ca1>] pci_disable_device+0xb1/0xc0 > [<ffffffffa00851a5>] ipmi_pci_remove+0x25/0x30 [ipmi_si] > [<ffffffff8149a696>] pci_device_remove+0x46/0xc0 > [<ffffffff8156801f>] __device_release_driver+0x7f/0xf0 > [<ffffffff81568978>] driver_detach+0xb8/0xc0 > [<ffffffff81567e50>] bus_remove_driver+0x50/0xa0 > [<ffffffff8156914e>] driver_unregister+0x2e/0x60 > [<ffffffff8149a3e5>] pci_unregister_driver+0x25/0x90 > [<ffffffffa0085804>] cleanup_ipmi_si+0xd4/0xf0 [ipmi_si] > [<ffffffff810c727a>] SyS_delete_module+0x12a/0x200 > [<ffffffff818d4d72>] system_call_fastpath+0x12/0x17 > > Signed-off-by: Dave Jones <dsj@fb.com> > > diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c > index 654f6f36a071..938d1f9c55f8 100644 > --- a/drivers/char/ipmi/ipmi_si_intf.c > +++ b/drivers/char/ipmi/ipmi_si_intf.c > @@ -2532,7 +2532,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[] = {
| |