diff options
author | Linas Vepstas <linas@austin.ibm.com> | 2007-04-13 15:34:23 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-05-02 19:02:40 -0700 |
commit | e70ea2634afe7d04ffaf7417df7bfdbfdc460e10 (patch) | |
tree | ea86633349ce6694b65af34fa8d65996ee2bd166 | |
parent | da65944be2441191539f50ce71cd1f8030699be1 (diff) | |
download | op-kernel-dev-e70ea2634afe7d04ffaf7417df7bfdbfdc460e10.zip op-kernel-dev-e70ea2634afe7d04ffaf7417df7bfdbfdc460e10.tar.gz |
PCI: rpaphp: Use pcibios_remove_pci_devices() symmetrically
At first blush, the disable_slot() routine does not look
at all like its symmetric with the enable_slot() routine;
as it seems to call a very different set of routines.
However, this is easily fixed: pcibios_remove_pci_devices()
does the right thing.
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Cc: John Rose <johnrose@austin.ibm.com>
Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/pci/hotplug/rpaphp_core.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/pci/hotplug/rpaphp_core.c b/drivers/pci/hotplug/rpaphp_core.c index aa8d9a6..4efdaa1 100644 --- a/drivers/pci/hotplug/rpaphp_core.c +++ b/drivers/pci/hotplug/rpaphp_core.c @@ -424,18 +424,12 @@ static int enable_slot(struct hotplug_slot *hotplug_slot) return retval; } -static int __disable_slot(struct slot *slot) +static inline int __disable_slot(struct slot *slot) { - struct pci_dev *dev, *tmp; - if (slot->state == NOT_CONFIGURED) return -EINVAL; - list_for_each_entry_safe(dev, tmp, &slot->bus->devices, bus_list) { - eeh_remove_bus_device(dev); - pci_remove_bus_device(dev); - } - + pcibios_remove_pci_devices(slot->bus); slot->state = NOT_CONFIGURED; return 0; } |