[PATCH] acpi bridge hotadd: Remove hot-plugged devices that could not be allocated resources
When hot-plugging an I/O hierarchy that contains many bridges and leaf devices, it's possible that there are not enough resources to start all the device present. If we fail to assign a resource, clear the corresponding value in the pci_dev structure, so other code can take corrective action. Signed-off-by: Rajesh Shah <rajesh.shah@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
091ca9f063
commit
542df5de56
|
@ -72,7 +72,10 @@ pbus_assign_resources_sorted(struct pci_bus *bus)
|
||||||
for (list = head.next; list;) {
|
for (list = head.next; list;) {
|
||||||
res = list->res;
|
res = list->res;
|
||||||
idx = res - &list->dev->resource[0];
|
idx = res - &list->dev->resource[0];
|
||||||
pci_assign_resource(list->dev, idx);
|
if (pci_assign_resource(list->dev, idx)) {
|
||||||
|
res->start = 0;
|
||||||
|
res->flags = 0;
|
||||||
|
}
|
||||||
tmp = list;
|
tmp = list;
|
||||||
list = list->next;
|
list = list->next;
|
||||||
kfree(tmp);
|
kfree(tmp);
|
||||||
|
|
Loading…
Reference in New Issue