diff options
-rw-r--r-- | drivers/pci/bus.c | 6 |
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; |