aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/pci/bus.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c
index d3346d23963b..89b3befc7155 100644
--- a/drivers/pci/bus.c
+++ b/drivers/pci/bus.c
@@ -140,6 +140,8 @@ static int pci_bus_alloc_from_region(struct pci_bus *bus, struct resource *res,
140 type_mask |= IORESOURCE_TYPE_BITS; 140 type_mask |= IORESOURCE_TYPE_BITS;
141 141
142 pci_bus_for_each_resource(bus, r, i) { 142 pci_bus_for_each_resource(bus, r, i) {
143 resource_size_t min_used = min;
144
143 if (!r) 145 if (!r)
144 continue; 146 continue;
145 147
@@ -163,12 +165,12 @@ static int pci_bus_alloc_from_region(struct pci_bus *bus, struct resource *res,
163 * overrides "min". 165 * overrides "min".
164 */ 166 */
165 if (avail.start) 167 if (avail.start)
166 min = avail.start; 168 min_used = avail.start;
167 169
168 max = avail.end; 170 max = avail.end;
169 171
170 /* Ok, try it out.. */ 172 /* Ok, try it out.. */
171 ret = allocate_resource(r, res, size, min, max, 173 ret = allocate_resource(r, res, size, min_used, max,
172 align, alignf, alignf_data); 174 align, alignf, alignf_data);
173 if (ret == 0) 175 if (ret == 0)
174 return 0; 176 return 0;