rpms/kernel/F-10 linux-2.6-acer-wmi-bail-on-aao.patch, NONE, 1.1 kernel.spec, 1.1324, 1.1325

Chuck Ebbert cebbert at fedoraproject.org
Tue Apr 14 11:40:36 UTC 2009


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv613

Modified Files:
	kernel.spec 
Added Files:
	linux-2.6-acer-wmi-bail-on-aao.patch 
Log Message:
Blacklist acer-wmi on the AAO to fix rfkill switch problems

linux-2.6-acer-wmi-bail-on-aao.patch:

--- NEW FILE linux-2.6-acer-wmi-bail-on-aao.patch ---
From: Carlos Corbacho <carlos at strangeworlds.co.uk>
Date: Sat, 4 Apr 2009 08:33:29 +0000 (+0100)
Subject: acer-wmi: Blacklist Acer Aspire One
X-Git-Tag: v2.6.30-rc1~199^2~15^2~2
X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=a74dd5fdabcd34c93e17e9c7024eeb503c92b048

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: Carlos Corbacho <carlos at strangeworlds.co.uk>
Reported-by: Andy Whitcroft <apw at canonical.com>
Cc: stable at kernel.org
Signed-off-by: Len Brown <len.brown at intel.com>
---

diff --git a/drivers/platform/x86/acer-wmi.c b/drivers/platform/x86/acer-wmi.c
index a6a42e8..60fbef2 100644
--- a/drivers/platform/x86/acer-wmi.c
+++ b/drivers/platform/x86/acer-wmi.c
@@ -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();
 
 	/*


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/kernel.spec,v
retrieving revision 1.1324
retrieving revision 1.1325
diff -u -r1.1324 -r1.1325
--- kernel.spec	14 Apr 2009 02:42:54 -0000	1.1324
+++ kernel.spec	14 Apr 2009 11:40:05 -0000	1.1325
@@ -620,6 +620,7 @@
 Patch383: linux-2.6-defaults-fat-utf8.patch
 Patch390: linux-2.6-defaults-acpi-video.patch
 Patch391: linux-2.6-acpi-video-dos.patch
+Patch396: linux-2.6-acer-wmi-bail-on-aao.patch
 Patch400: linux-2.6-scsi-cpqarray-set-master.patch
 Patch450: linux-2.6-input-kill-stupid-messages.patch
 Patch460: linux-2.6-serial-460800.patch
@@ -909,8 +910,8 @@
       echo "ERROR: Patch  ${patch##/*/}  listed in specfile but is missing"
       exit 1
     fi
-  done 2>/dev/null
-fi
+  done
+fi 2>/dev/null
 
 patch_command='patch -p1 -F1 -s'
 ApplyPatch()
@@ -1173,6 +1174,7 @@
 # ACPI
 ApplyPatch linux-2.6-defaults-acpi-video.patch
 ApplyPatch linux-2.6-acpi-video-dos.patch
+ApplyPatch linux-2.6-acer-wmi-bail-on-aao.patch
 
 # Various low-impact patches to aid debugging.
 ApplyPatch linux-2.6-debug-sizeof-structs.patch
@@ -1872,6 +1874,9 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Tue Apr 14 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.29.1-24
+- Blacklist acer-wmi on the AAO to fix rfkill switch problems
+
 * Tue Apr 14 2009 Dave Airlie <airlied at redhat.com> 2.6.29.1-23
 - radeon: add some more kms fixes backported from F11
 




More information about the fedora-extras-commits mailing list