diff options
Diffstat (limited to 'src/devices/device.c')
-rw-r--r-- | src/devices/device.c | 17 |
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. |