On Monday, July 29, 2013 02:20:58 PM Felipe Contreras wrote: > 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. Well, it really is a workaround, so perhaps it would be fair to call it this way? > 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@xxxxxxxxx> I don't really feel this is the right approach, but then I don't care enough to fight with you. :-) I'll queue up this patch for 3.12. Thanks, Rafael > --- > 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. > -- I speak only for myself. Rafael J. Wysocki, Intel Open Source Technology Center. -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html