On Wed, Jan 15, 2020 at 05:58:05PM +0000, Nicholas Johnson wrote: > Remove checks for resource size in extend_bridge_window(). This is > necessary to allow the pci_bus_distribute_available_resources() to > function when the kernel parameter pci=hpmemsize=nn[KMG] is used to > allocate resources. Because the kernel parameter sets the size of all > hotplug bridges to be the same, there are problems when nested hotplug > bridges are encountered. Fitting a downstream hotplug bridge with size X > and normal bridges with non-zero size Y into parent hotplug bridge with > size X is impossible, and hence the downstream hotplug bridge needs to > shrink to fit into its parent. > > Add check for if bridge is extended or shrunken and reflect that in the > call to pci_dbg(). > > Do not change resource size if new size is zero (if we have run out of a > bridge window resource) to prevent the PCI resource assignment code from > attempting to assign a zero-sized resource. If this happens, we are > running out of resource space, anyway, so not shrinking the resource > will not deny space for other resources. This prevents the following > from happening: > > pcieport 0000:07:04.0: can't enable device: BAR 13 [io 0x1000-0x0fff] not claimed > > Signed-off-by: Nicholas Johnson <nicholas.johnson-opensource@xxxxxxxxxxxxxx> Reviewed-by: Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>