PCI: add set_nouse_crs for use by a pci=nocrs blacklist
Dave Jones [Fri, 30 Dec 2011 19:37:05 +0000 (14:37 -0500)]
Some machines don't boot unless passed pci=nocrs.
(See https://bugzilla.redhat.com/show_bug.cgi?id=770308 for details of
  one report. Waiting on dmidecode output for others).

Currently there is a DMI whitelist, even though the default is on.

v2: drop the 1536 blacklist entry, superceded by the PNP/MMCONFIG changes from
    Bjorn

Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>

arch/x86/pci/acpi.c

index 404f21a..f5ccf29 100644 (file)
@@ -24,6 +24,12 @@ static int __init set_use_crs(const struct dmi_system_id *id)
        return 0;
 }
 
+static int __init set_nouse_crs(const struct dmi_system_id *id)
+{
+       pci_use_crs = false;
+       return 0;
+}
+
 static const struct dmi_system_id pci_use_crs_table[] __initconst = {
        /* http://bugzilla.kernel.org/show_bug.cgi?id=14183 */
        {
@@ -54,6 +60,7 @@ static const struct dmi_system_id pci_use_crs_table[] __initconst = {
                        DMI_MATCH(DMI_BIOS_VENDOR, "American Megatrends Inc."),
                },
        },
+
        {}
 };