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