Remove DMI entry to disable MCFG We got a different heuristic now that should hopefully work it even without blacklisting systems. So remove the entry for now. Index: linux-2.6.18rc6-update/arch/i386/pci/mmconfig.c =================================================================== --- linux-2.6.18rc6-update.orig/arch/i386/pci/mmconfig.c +++ linux-2.6.18rc6-update/arch/i386/pci/mmconfig.c @@ -188,23 +188,16 @@ static __init void unreachable_devices(v } } +#if 0 static int disable_mcfg(struct dmi_system_id *d) { printk("PCI: %s detected. Disabling MCFG.\n", d->ident); pci_probe &= ~PCI_PROBE_MMCONF; return 0; } +#endif static struct dmi_system_id __initdata dmi_bad_mcfg[] = { - /* Has broken MCFG table that makes the system hang when used */ - { - .callback = disable_mcfg, - .ident = "Intel D3C5105 SDV", - .matches = { - DMI_MATCH(DMI_BIOS_VENDOR, "Intel"), - DMI_MATCH(DMI_BOARD_NAME, "D26928"), - }, - }, {} }; Index: linux-2.6.18rc6-update/arch/x86_64/pci/mmconfig.c =================================================================== --- linux-2.6.18rc6-update.orig/arch/x86_64/pci/mmconfig.c +++ linux-2.6.18rc6-update/arch/x86_64/pci/mmconfig.c @@ -165,23 +165,16 @@ static __init void unreachable_devices(v } } +#if 0 static int disable_mcfg(struct dmi_system_id *d) { printk("PCI: %s detected. Disabling MCFG.\n", d->ident); pci_probe &= ~PCI_PROBE_MMCONF; return 0; } +#endif static struct dmi_system_id __initdata dmi_bad_mcfg[] = { - /* Has broken MCFG table that makes the system hang when used */ - { - .callback = disable_mcfg, - .ident = "Intel D3C5105 SDV", - .matches = { - DMI_MATCH(DMI_BIOS_VENDOR, "Intel"), - DMI_MATCH(DMI_BOARD_NAME, "D26928"), - }, - }, {} };