[PATCH] powerpc/pseries: bugfix: balance calls to pci_device_put

Repeated calls to eeh_remove_device() can result in multiple
(and thus unbalanced) calls to pci_dev_put(). Make sure the
pci_device_put() is called only once (since there was only
one call to the matching pci_device_get()).

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Linas Vepstas 2006-04-06 15:41:41 -05:00 committed by Paul Mackerras
parent 6f806ceed5
commit b055a9e10f
1 changed files with 4 additions and 2 deletions

View File

@ -957,8 +957,10 @@ static void eeh_remove_device(struct pci_dev *dev)
pci_addr_cache_remove_device(dev);
dn = pci_device_to_OF_node(dev);
PCI_DN(dn)->pcidev = NULL;
pci_dev_put (dev);
if (PCI_DN(dn)->pcidev) {
PCI_DN(dn)->pcidev = NULL;
pci_dev_put (dev);
}
}
void eeh_remove_bus_device(struct pci_dev *dev)