diff options
author | Linas Vepstas <linas@austin.ibm.com> | 2007-04-13 18:34:23 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2007-05-02 22:02:40 -0400 |
commit | e70ea2634afe7d04ffaf7417df7bfdbfdc460e10 (patch) | |
tree | ea86633349ce6694b65af34fa8d65996ee2bd166 | |
parent | da65944be2441191539f50ce71cd1f8030699be1 (diff) |
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 aa8d9a60d0a6..4efdaa19e8f9 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) | |||
424 | return retval; | 424 | return retval; |
425 | } | 425 | } |
426 | 426 | ||
427 | static int __disable_slot(struct slot *slot) | 427 | static inline int __disable_slot(struct slot *slot) |
428 | { | 428 | { |
429 | struct pci_dev *dev, *tmp; | ||
430 | |||
431 | if (slot->state == NOT_CONFIGURED) | 429 | if (slot->state == NOT_CONFIGURED) |
432 | return -EINVAL; | 430 | return -EINVAL; |
433 | 431 | ||
434 | list_for_each_entry_safe(dev, tmp, &slot->bus->devices, bus_list) { | 432 | pcibios_remove_pci_devices(slot->bus); |
435 | eeh_remove_bus_device(dev); | ||
436 | pci_remove_bus_device(dev); | ||
437 | } | ||
438 | |||
439 | slot->state = NOT_CONFIGURED; | 433 | slot->state = NOT_CONFIGURED; |
440 | return 0; | 434 | return 0; |
441 | } | 435 | } |