summaryrefslogtreecommitdiff
path: root/src/devices/device.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/device.c')
-rw-r--r--src/devices/device.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/devices/device.c b/src/devices/device.c
index a2ded6d17c..5f28c0d49e 100644
--- a/src/devices/device.c
+++ b/src/devices/device.c
@@ -320,15 +320,6 @@ void compute_allocate_resource(
bridge->align = resource->align;
}
- /* Propogate the resource limit to the bridge register */
- if (bridge->limit > resource->limit) {
- bridge->limit = resource->limit;
- }
- /* Artificially deny limits between DEVICE_MEM_HIGH and 0xffffffff */
- if ((bridge->limit > DEVICE_MEM_HIGH) && (bridge->limit <= 0xffffffff)) {
- bridge->limit = DEVICE_MEM_HIGH;
- }
-
/* Make certain we are dealing with a good minimum size */
size = resource->size;
align = resource->align;
@@ -338,6 +329,14 @@ void compute_allocate_resource(
if (resource->flags & IORESOURCE_FIXED) {
continue;
}
+ /* Propogate the resource limit to the bridge register */
+ if (bridge->limit > resource->limit) {
+ bridge->limit = resource->limit;
+ }
+ /* Artificially deny limits between DEVICE_MEM_HIGH and 0xffffffff */
+ if ((bridge->limit > DEVICE_MEM_HIGH) && (bridge->limit <= 0xffffffff)) {
+ bridge->limit = DEVICE_MEM_HIGH;
+ }
if (resource->flags & IORESOURCE_IO) {
/* Don't allow potential aliases over the
* legacy pci expansion card addresses.