PCI: Add Thinkpad SL510 to pci=nocrs blacklist
[cascardo/linux.git] / arch / x86 / pci / acpi.c
index 039d913..e662cee 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 */
        {
@@ -43,6 +49,40 @@ static const struct dmi_system_id pci_use_crs_table[] __initconst = {
                        DMI_MATCH(DMI_PRODUCT_NAME, "ALiveSATA2-GLAN"),
                 },
         },
+       /* https://bugzilla.kernel.org/show_bug.cgi?id=30552 */
+       /* 2006 AMD HT/VIA system with two host bridges */
+       {
+               .callback = set_use_crs,
+               .ident = "ASUS M2V-MX SE",
+               .matches = {
+                       DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."),
+                       DMI_MATCH(DMI_BOARD_NAME, "M2V-MX SE"),
+                       DMI_MATCH(DMI_BIOS_VENDOR, "American Megatrends Inc."),
+               },
+       },
+
+       /* Now for the blacklist.. */
+
+       /* https://bugzilla.redhat.com/show_bug.cgi?id=769657 */
+       {
+               .callback = set_nouse_crs,
+               .ident = "Dell Studio 1557",
+               .matches = {
+                       DMI_MATCH(DMI_BOARD_VENDOR, "Dell Inc."),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "Studio 1557"),
+                       DMI_MATCH(DMI_BIOS_VERSION, "A09"),
+               },
+       },
+       /* https://bugzilla.redhat.com/show_bug.cgi?id=769657 */
+       {
+               .callback = set_nouse_crs,
+               .ident = "Thinkpad SL510",
+               .matches = {
+                       DMI_MATCH(DMI_BOARD_VENDOR, "LENOVO"),
+                       DMI_MATCH(DMI_BOARD_NAME, "2847DFG"),
+                       DMI_MATCH(DMI_BIOS_VERSION, "6JET85WW (1.43 )"),
+               },
+       },
        {}
 };