Linux tries to pre-allocate minimal resources to hotplug bridges. This works fine as long as there are enough resources to satisfy all other genuine resource requirements. However if enough resources are not available to satisfy any of these nice-to-have pre-allocations, the resource-allocator reports errors and returns failure. This patch distinguishes between must-have resource from nice-to-have resource. Any failure to allocate nice-to-have resources are ignored. This behavior can be particularly useful to trigger automatic reallocation when the OS discovers genuine allocation-conflicts or genuine unallocated-requests caused by buggy allocation behavior of the native BIOS/uEFI. https://bugzilla.kernel.org/show_bug.cgi?id=15960 captures the movitation behind the patch. This patch is verified to resolve the above bug. The first 3 patches refactors common code and builds the ground work for the 4 patch which contains the core piece of the fix. patch 1/4: refactors the io size calculation logic patch 2/4: refactors the list freeing logic patch 3/4: refactors the resource reset logic patch 4/4: contains the fix to the original problem drivers/pci/setup-bus.c | 269 ++++++++++++++++++++++++++++++++++------------ Signed-off-by: Ram Pai <linuxram@xxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html