diff options
Diffstat (limited to 'drivers/pci/hotplug/rpaphp_pci.c')
-rw-r--r-- | drivers/pci/hotplug/rpaphp_pci.c | 20 |
1 files changed, 1 insertions, 19 deletions
diff --git a/drivers/pci/hotplug/rpaphp_pci.c b/drivers/pci/hotplug/rpaphp_pci.c index b93d9c964ee..1f5e73be47c 100644 --- a/drivers/pci/hotplug/rpaphp_pci.c +++ b/drivers/pci/hotplug/rpaphp_pci.c | |||
@@ -116,30 +116,12 @@ static void print_slot_pci_funcs(struct pci_bus *bus) | |||
116 | return; | 116 | return; |
117 | } | 117 | } |
118 | 118 | ||
119 | static void rpaphp_eeh_remove_bus_device(struct pci_dev *dev) | ||
120 | { | ||
121 | eeh_remove_device(dev); | ||
122 | if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE) { | ||
123 | struct pci_bus *bus = dev->subordinate; | ||
124 | struct list_head *ln; | ||
125 | if (!bus) | ||
126 | return; | ||
127 | for (ln = bus->devices.next; ln != &bus->devices; ln = ln->next) { | ||
128 | struct pci_dev *pdev = pci_dev_b(ln); | ||
129 | if (pdev) | ||
130 | rpaphp_eeh_remove_bus_device(pdev); | ||
131 | } | ||
132 | |||
133 | } | ||
134 | return; | ||
135 | } | ||
136 | |||
137 | int rpaphp_unconfig_pci_adapter(struct pci_bus *bus) | 119 | int rpaphp_unconfig_pci_adapter(struct pci_bus *bus) |
138 | { | 120 | { |
139 | struct pci_dev *dev, *tmp; | 121 | struct pci_dev *dev, *tmp; |
140 | 122 | ||
141 | list_for_each_entry_safe(dev, tmp, &bus->devices, bus_list) { | 123 | list_for_each_entry_safe(dev, tmp, &bus->devices, bus_list) { |
142 | rpaphp_eeh_remove_bus_device(dev); | 124 | eeh_remove_bus_device(dev); |
143 | pci_remove_bus_device(dev); | 125 | pci_remove_bus_device(dev); |
144 | } | 126 | } |
145 | return 0; | 127 | return 0; |