summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/devices/pci_device.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/devices/pci_device.c b/src/devices/pci_device.c
index fb84811cee..d7ba57b262 100644
--- a/src/devices/pci_device.c
+++ b/src/devices/pci_device.c
@@ -221,16 +221,6 @@ static void pci_get_rom_resource(struct device *dev, unsigned long index)
/* Initialize the resources to nothing */
resource = new_resource(dev, index);
- /* for on board device with embedded ROM image, the ROM image is at
- * fixed address specified in the Config.lb, the dev->rom_address is
- * inited by driver_pci_onboard_ops::enable_dev() */
- if ((dev->on_mainboard) && (dev->rom_address != 0)) {
- resource->base = dev->rom_address;
- resource->flags |= IORESOURCE_MEM | IORESOURCE_READONLY |
- IORESOURCE_ASSIGNED | IORESOURCE_FIXED;
- return;
- }
-
/* Get the initial value */
value = pci_read_config32(dev, index);
@@ -268,6 +258,15 @@ static void pci_get_rom_resource(struct device *dev, unsigned long index)
} else {
resource->flags |= IORESOURCE_MEM | IORESOURCE_READONLY;
}
+
+ /* for on board device with embedded ROM image, the ROM image is at
+ * fixed address specified in the Config.lb, the dev->rom_address is
+ * inited by driver_pci_onboard_ops::enable_dev() */
+ if ((dev->on_mainboard) && (dev->rom_address == 0)) {
+ resource->base = dev->rom_address;
+ resource->flags |= IORESOURCE_MEM | IORESOURCE_READONLY |
+ IORESOURCE_ASSIGNED | IORESOURCE_FIXED;
+ }
}
/** Read the base address registers for a given device.