ACPI: acpi_pci_unbind should clean up properly after acpi_pci_bind
In acpi_pci_bind, we set device->ops.bind and device->ops.unbind, but never clear them out. Signed-off-by: Alex Chiang <achiang@hp.com> Acked-by: Bjorn Helgaas <bjorn.helgaas@hp.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
parent
d9efae3688
commit
97719a8726
|
@ -109,12 +109,15 @@ static int acpi_pci_unbind(struct acpi_device *device)
|
|||
struct pci_dev *dev;
|
||||
|
||||
dev = acpi_get_pci_dev(device->handle);
|
||||
if (!dev)
|
||||
return 0;
|
||||
if (!dev || !dev->subordinate)
|
||||
goto out;
|
||||
|
||||
if (dev->subordinate)
|
||||
acpi_pci_irq_del_prt(dev->subordinate);
|
||||
acpi_pci_irq_del_prt(dev->subordinate);
|
||||
|
||||
device->ops.bind = NULL;
|
||||
device->ops.unbind = NULL;
|
||||
|
||||
out:
|
||||
pci_dev_put(dev);
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue