Messages in this thread Patch in this message | | | From | Bjorn Helgaas <> | Subject | [PATCH 2/4] PCI: Skip allocate_resource() if too little space available | Date | Fri, 2 Dec 2022 15:18:36 -0600 |
| |
From: Bjorn Helgaas <bhelgaas@google.com>
pci_bus_alloc_from_region() allocates MMIO space by iterating through all the resources available on the bus. The available resource might be reduced if the caller requires 32-bit space or we're avoiding BIOS or E820 areas.
Don't bother calling allocate_resource() if we need more space than is available in this resource. This prevents some pointless and annoying messages about avoided areas.
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Cc: Hans de Goede <hdegoede@redhat.com> --- drivers/pci/bus.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c index 3cef835b375f..83ae838ceb5f 100644 --- a/drivers/pci/bus.c +++ b/drivers/pci/bus.c @@ -197,6 +197,10 @@ static int pci_bus_alloc_from_region(struct pci_bus *bus, struct resource *res, max = avail.end; + /* Don't bother if available space isn't large enough */ + if (size > max - min_used + 1) + continue; + /* Ok, try it out.. */ ret = allocate_resource(r, res, size, min_used, max, align, alignf, alignf_data); -- 2.25.1
| |