aboutsummaryrefslogtreecommitdiff
path: root/src/devices/pci_device.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/pci_device.c')
-rw-r--r--src/devices/pci_device.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/devices/pci_device.c b/src/devices/pci_device.c
index 5b038e4a8d..55049230b2 100644
--- a/src/devices/pci_device.c
+++ b/src/devices/pci_device.c
@@ -273,8 +273,10 @@ static void pci_read_bases(struct device *dev, unsigned int howmany, unsigned lo
resource = pci_get_resource(dev, index);
index += (resource->flags & IORESOURCE_PCI64)?8:4;
}
- if (rom)
- pci_get_rom_resource(dev, rom);
+ if (rom) {
+ if ((!dev->on_mainboard) || (dev->rom_address == 0))
+ pci_get_rom_resource(dev, rom);
+ }
compact_resources(dev);
}