lkml.org 
[lkml]   [2013]   [Jul]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[REGRESSION/PATCH] acpi: blacklist win8 OSI for ASUS Zenbok Prime UX31A
Date
Since v3.7 the acpi backlight driver doesn't work at all on this machine
because presumably the ACPI code contains stub code when Windows 8 OSI is
reported.

The commit ea45ea7 (in v3.11-rc2) tried to fix this problem by using the intel
backlight driver, however, on this machine it turns the backlight completely
off when it reaches level 0%, after which the user might have a lot trouble
trying to bring it back.

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 [1].

[1] https://wiki.archlinux.org/index.php/ASUS_Zenbook_Prime_UX31A

Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
---
drivers/acpi/blacklist.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)

diff --git a/drivers/acpi/blacklist.c b/drivers/acpi/blacklist.c
index cb96296..a404127 100644
--- a/drivers/acpi/blacklist.c
+++ b/drivers/acpi/blacklist.c
@@ -192,6 +192,12 @@ static int __init dmi_disable_osi_win7(const struct dmi_system_id *d)
acpi_osi_setup("!Windows 2009");
return 0;
}
+static int __init dmi_disable_osi_win8(const struct dmi_system_id *d)
+{
+ printk(KERN_NOTICE PREFIX "DMI detected: %s\n", d->ident);
+ acpi_osi_setup("!Windows 2012");
+ return 0;
+}

static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
{
@@ -267,6 +273,14 @@ static struct dmi_system_id acpi_osi_dmi_table[] __initdata = {
DMI_MATCH(DMI_PRODUCT_NAME, "Satellite P305D"),
},
},
+ {
+ .callback = dmi_disable_osi_win8,
+ .ident = "ASUS Zenbook Prime UX31A",
+ .matches = {
+ DMI_MATCH(DMI_SYS_VENDOR, "ASUSTeK COMPUTER INC."),
+ DMI_MATCH(DMI_PRODUCT_NAME, "UX31A"),
+ },
+ },

/*
* BIOS invocation of _OSI(Linux) is almost always a BIOS bug.
--
1.8.3.4


\
 
 \ /
  Last update: 2013-07-29 21:41    [W:0.087 / U:0.756 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site