mirror of
https://github.com/torvalds/linux
synced 2024-09-06 18:01:05 +00:00
PCI: Skip allocate_resource() if too little space available
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. Link: https://lore.kernel.org/r/20221208190341.1560157-3-helgaas@kernel.org Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
parent
07eab0901e
commit
5c5fb3c3a7
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue