|
@@ -114,16 +114,17 @@ void pci_stop_and_remove_bus_device(struct pci_dev *dev)
|
|
|
|
|
|
static void __pci_remove_behind_bridge(struct pci_dev *dev)
|
|
|
{
|
|
|
- struct list_head *l, *n;
|
|
|
+ struct pci_dev *child, *tmp;
|
|
|
|
|
|
if (dev->subordinate)
|
|
|
- list_for_each_safe(l, n, &dev->subordinate->devices)
|
|
|
- __pci_remove_bus_device(pci_dev_b(l));
|
|
|
+ list_for_each_entry_safe(child, tmp,
|
|
|
+ &dev->subordinate->devices, bus_list)
|
|
|
+ __pci_remove_bus_device(child);
|
|
|
}
|
|
|
|
|
|
static void pci_stop_bus_devices(struct pci_bus *bus)
|
|
|
{
|
|
|
- struct list_head *l, *n;
|
|
|
+ struct pci_dev *dev, *tmp;
|
|
|
|
|
|
/*
|
|
|
* VFs could be removed by pci_stop_and_remove_bus_device() in the
|
|
@@ -133,10 +134,8 @@ static void pci_stop_bus_devices(struct pci_bus *bus)
|
|
|
* We can iterate the list backwards to get prev valid PF instead
|
|
|
* of removed VF.
|
|
|
*/
|
|
|
- list_for_each_prev_safe(l, n, &bus->devices) {
|
|
|
- struct pci_dev *dev = pci_dev_b(l);
|
|
|
+ list_for_each_entry_safe_reverse(dev, tmp, &bus->devices, bus_list)
|
|
|
pci_stop_bus_device(dev);
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
/**
|