diff options
-rw-r--r-- | src/fw/pciinit.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/fw/pciinit.c b/src/fw/pciinit.c index 6b13cd5b..bb44dc29 100644 --- a/src/fw/pciinit.c +++ b/src/fw/pciinit.c @@ -970,9 +970,11 @@ static int pci_bios_check_devices(struct pci_bus *busses) int resource_optional = 0; if (hotplug_support == HOTPLUG_PCIE) resource_optional = pcie_cap && (type == PCI_REGION_TYPE_IO); + + u64 top_align = pci_mem64_top >> 11; if (hotplug_support && pci_pad_mem64 && is64 - && (type == PCI_REGION_TYPE_PREFMEM)) - align = pci_mem64_top >> 11; + && (type == PCI_REGION_TYPE_PREFMEM) && (top_align > align)) + align = top_align; if (align > sum && hotplug_support && !resource_optional) sum = align; /* reserve min size for hot-plug */ if (size > sum) { |