pci_bus_alloc_resource() avoids allocating space below the "min" supplied
by the caller (usually PCIBIOS_MIN_IO or PCIBIOS_MIN_MEM).  This is to
protect badly documented motherboard resources.  But if we're allocating
space inside an already-configured PCI-PCI bridge window, we ignore "min".

See 688d191821de ("pci: make bus resource start address override minimum IO
address").

This patch moves the check to make it more visible and simplify future
patches.  No functional change.

Signed-off-by: Bjorn Helgaas <bhelg...@google.com>
---
 drivers/pci/bus.c |   15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c
index fc1b74013743..6f2f47a7b6c6 100644
--- a/drivers/pci/bus.c
+++ b/drivers/pci/bus.c
@@ -147,11 +147,18 @@ pci_bus_alloc_resource(struct pci_bus *bus, struct 
resource *res,
                    !(res->flags & IORESOURCE_PREFETCH))
                        continue;
 
+               /*
+                * "min" is typically PCIBIOS_MIN_IO or PCIBIOS_MIN_MEM to
+                * protect badly documented motherboard resources, but if
+                * this is an already-configured bridge window, its start
+                * overrides "min".
+                */
+               if (r->start)
+                       min = r->start;
+
                /* Ok, try it out.. */
-               ret = allocate_resource(r, res, size,
-                                       r->start ? : min,
-                                       max, align,
-                                       alignf, alignf_data);
+               ret = allocate_resource(r, res, size, min, max,
+                                       align, alignf, alignf_data);
                if (ret == 0)
                        break;
        }

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to