diff options
author | Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> | 2024-12-16 19:56:12 +0200 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2025-02-18 15:40:52 -0600 |
commit | ff61f380de5652e723168341480cc7adf1dd6213 (patch) | |
tree | 1b6dbfcb4e2664cc00b6a13620fda05cd63ff77c | |
parent | 67f9085596ee55dd27b540ca6088ba0717ee511c (diff) |
PCI: Fix old_size lower bound in calculate_iosize() too
Commit 903534fa7d30 ("PCI: Fix resource double counting on remove &
rescan") fixed double counting of mem resources because of old_size being
applied too early.
Fix a similar counting bug on the io resource side.
Link: https://lore.kernel.org/r/20241216175632.4175-6-ilpo.jarvinen@linux.intel.com
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Tested-by: Xiaochun Lee <lixc17@lenovo.com>
-rw-r--r-- | drivers/pci/setup-bus.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c index 447f3aa1037c..7c966e3f5060 100644 --- a/drivers/pci/setup-bus.c +++ b/drivers/pci/setup-bus.c @@ -814,11 +814,9 @@ static resource_size_t calculate_iosize(resource_size_t size, size = (size & 0xff) + ((size & ~0xffUL) << 2); #endif size = size + size1; - if (size < old_size) - size = old_size; - size = ALIGN(max(size, add_size) + children_add_size, align); - return size; + size = max(size, add_size) + children_add_size; + return ALIGN(max(size, old_size), align); } static resource_size_t calculate_memsize(resource_size_t size, |