Index: src/devices/pci_device.c
===================================================================
--- src/devices/pci_device.c	(Revision 6297)
+++ src/devices/pci_device.c	(Arbeitskopie)
@@ -594,9 +594,6 @@
 	/* Set the subsystem vendor and device ID for mainboard devices. */
 	ops = ops_pci(dev);
 	if (dev->on_mainboard && ops && ops->set_subsystem) {
-		printk(BIOS_DEBUG, "%s subsystem <- %02x/%02x\n", dev_path(dev),
-		       CONFIG_MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID,
-		       CONFIG_MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID);
 		ops->set_subsystem(dev,
 				   CONFIG_MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID,
 				   CONFIG_MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID);
@@ -645,8 +642,9 @@
 	delay(1);
 }
 
-void pci_dev_set_subsystem(struct device *dev, unsigned vendor, unsigned device)
+void __attribute__((weak)) pci_dev_set_subsystem(struct device *dev, unsigned vendor, unsigned device)
 {
+	printk(BIOS_DEBUG, "%s subsystem <- %02x/%02x\n", dev_path(dev), vendor, device);
 	pci_write_config32(dev, PCI_SUBSYSTEM_VENDOR_ID,
 			   ((device & 0xffff) << 16) | (vendor & 0xffff));
 }
