Skip to content

Commit

Permalink
ACPI: acpi_pci_unbind should clean up properly after acpi_pci_bind
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Alexander Chiang authored and Len Brown committed Jun 18, 2009
1 parent d9efae3 commit 97719a8
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions drivers/acpi/pci_bind.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}
Expand Down

0 comments on commit 97719a8

Please sign in to comment.