From: Rajesh Shah 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 Signed-off-by: Andrew Morton --- drivers/pci/setup-bus.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletion(-) diff -puN drivers/pci/setup-bus.c~acpi-bridge-hotadd-remove-hot-plugged-devices-that-could-not-be-allocated-resources drivers/pci/setup-bus.c --- 25/drivers/pci/setup-bus.c~acpi-bridge-hotadd-remove-hot-plugged-devices-that-could-not-be-allocated-resources 2005-04-28 00:24:30.372261192 -0700 +++ 25-akpm/drivers/pci/setup-bus.c 2005-04-28 00:24:30.375260736 -0700 @@ -72,7 +72,10 @@ pbus_assign_resources_sorted(struct pci_ for (list = head.next; list;) { res = list->res; 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; list = list->next; kfree(tmp); _