Commit a74dd5fd authored by Carlos Corbacho's avatar Carlos Corbacho Committed by Len Brown
Browse files

acer-wmi: Blacklist Acer Aspire One



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: default avatarCarlos Corbacho <carlos@strangeworlds.co.uk>
Reported-by: default avatarAndy Whitcroft <apw@canonical.com>
Cc: stable@kernel.org
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 8e0ee43b
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
@@ -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,
@@ -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();

	/*