diff --git a/src/devices/device.c b/src/devices/device.c index 635f876bbe..d6a6ebd967 100644 --- a/src/devices/device.c +++ b/src/devices/device.c @@ -305,11 +305,6 @@ void compute_allocate_resource( * return them. Some resources must be set even when they have * no size. PCI bridge resources are a good example of this. */ - /* Propogate the resource alignment to the bridge register */ - if (resource->align > bridge->align) { - bridge->align = resource->align; - } - /* Make certain we are dealing with a good minimum size */ size = resource->size; align = resource->align; @@ -317,6 +312,11 @@ void compute_allocate_resource( align = min_align; } + /* Propogate the resource alignment to the bridge register */ + if (align > bridge->align) { + bridge->align = align; + } + if (resource->flags & IORESOURCE_FIXED) { continue; }