aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi
diff options
context:
space:
mode:
authorFelipe Contreras <felipe.contreras@gmail.com>2013-08-25 13:37:33 -0400
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2013-08-25 15:31:12 -0400
commit94fb9823a7c478bf88b99b8da4fc3e540608ece5 (patch)
treeca96e5e955350b2669515a97767f5ae807ebc2f2 /drivers/acpi
parentcb7a386c6c25e85c2710cdb1a498a73794cda660 (diff)
ACPI: blacklist win8 OSI for buggy laptops
Since v3.7 the acpi backlight driver doesn't work correctly in several machines because ACPI code has different code for Windows 8, and the rest. The commit ea45ea7 (in v3.11-rc2) tried to fix this problem by using the intel backlight driver, however it introduced several other issues in different machines. This patch fixes both regressions by blacklisting the win8 OSI, so we are back to v3.6 behavior, and it should remain that way until the intel backlight driver is fixed. Since v3.7, users have been forced to fix the initial regression by modifying the boot arguments (acpi_osi="!Windows 2012"). Once the Intel backlight driver works correctly for all machines, this blacklist can be removed and that driver can be used instead. References: https://bugzilla.kernel.org/show_bug.cgi?id=60682 Reported-by: Danny Baumann <dannybaumann@web.de> Reported-by: Philipp Richter <richterphilipp.pops@gmail.com> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/acpi')
-rw-r--r--drivers/acpi/blacklist.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/acpi/blacklist.c b/drivers/acpi/blacklist.c
index a40412776804..9515f18898b2 100644
--- a/drivers/acpi/blacklist.c
+++ b/drivers/acpi/blacklist.c
@@ -281,6 +281,22 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
281 DMI_MATCH(DMI_PRODUCT_NAME, "UX31A"), 281 DMI_MATCH(DMI_PRODUCT_NAME, "UX31A"),
282 }, 282 },
283 }, 283 },
284 {
285 .callback = dmi_disable_osi_win8,
286 .ident = "Dell Inspiron 15R SE",
287 .matches = {
288 DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
289 DMI_MATCH(DMI_PRODUCT_NAME, "Inspiron 7520"),
290 },
291 },
292 {
293 .callback = dmi_disable_osi_win8,
294 .ident = "Lenovo ThinkPad Edge E530",
295 .matches = {
296 DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"),
297 DMI_MATCH(DMI_PRODUCT_VERSION, "3259A2G"),
298 },
299 },
284 300
285 /* 301 /*
286 * BIOS invocation of _OSI(Linux) is almost always a BIOS bug. 302 * BIOS invocation of _OSI(Linux) is almost always a BIOS bug.