Skip to content

Commit

Permalink
acer-wmi: Blacklist Acer Aspire One
Browse files Browse the repository at this point in the history
The Aspire One's ACPI-WMI interface is a placeholder that does nothing,
and the invalid results that we get from it are now causing userspace
problems as acer-wmi always returns that the rfkill is enabled (i.e. the
radio is off, when it isn't). As it's hardware controlled, acer-wmi
isn't needed on the Aspire One either.

Thanks to Andy Whitcroft at Canonical for tracking down Ubuntu's userspace
issues to this.

Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk>
Reported-by: Andy Whitcroft <apw@canonical.com>
Cc: stable@kernel.org
Signed-off-by: Len Brown <len.brown@intel.com>
  • Loading branch information
Carlos Corbacho authored and Len Brown committed Apr 4, 2009
1 parent 8e0ee43 commit a74dd5f
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions drivers/platform/x86/acer-wmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,25 @@ static struct quirk_entry quirk_fujitsu_amilo_li_1718 = {
.wireless = 2,
};

/* The Aspire One has a dummy ACPI-WMI interface - disable it */
static struct dmi_system_id __devinitdata acer_blacklist[] = {
{
.ident = "Acer Aspire One (SSD)",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
DMI_MATCH(DMI_PRODUCT_NAME, "AOA110"),
},
},
{
.ident = "Acer Aspire One (HDD)",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
DMI_MATCH(DMI_PRODUCT_NAME, "AOA150"),
},
},
{}
};

static struct dmi_system_id acer_quirks[] = {
{
.callback = dmi_matched,
Expand Down Expand Up @@ -1254,6 +1273,12 @@ static int __init acer_wmi_init(void)

printk(ACER_INFO "Acer Laptop ACPI-WMI Extras\n");

if (dmi_check_system(acer_blacklist)) {
printk(ACER_INFO "Blacklisted hardware detected - "
"not loading\n");
return -ENODEV;
}

find_quirks();

/*
Expand Down

0 comments on commit a74dd5f

Please sign in to comment.