[kernel] r15847 - in dists/sid/linux-2.6/debian: . patches/bugfix/x86 patches/series

Ben Hutchings benh at alioth.debian.org
Thu Jun 10 00:17:53 UTC 2010


Author: benh
Date: Thu Jun 10 00:17:48 2010
New Revision: 15847

Log:
eeepc-laptop: Disable wireless hotplug on more models where the controller is not at the expected address (Closes: #576199)

Added:
   dists/sid/linux-2.6/debian/patches/bugfix/x86/eeepc-laptop-check-wireless-hotplug-events.patch
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/series/16

Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	Wed Jun  9 22:16:05 2010	(r15846)
+++ dists/sid/linux-2.6/debian/changelog	Thu Jun 10 00:17:48 2010	(r15847)
@@ -16,6 +16,8 @@
   * sctp: fix append error cause to ERROR chunk correctly (regression due
     to fix for CVE-2010-1173)
   * [powerpc] Enable pata_amd driver, replacing amd74xx
+  * eeepc-laptop: Disable wireless hotplug on more models where the
+    controller is not at the expected address (Closes: #576199)
 
   [ Aurelien Jarno ]
   * [sh4] fix sh_tmu clocksource following recent nohz changes.

Added: dists/sid/linux-2.6/debian/patches/bugfix/x86/eeepc-laptop-check-wireless-hotplug-events.patch
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/x86/eeepc-laptop-check-wireless-hotplug-events.patch	Thu Jun 10 00:17:48 2010	(r15847)
@@ -0,0 +1,66 @@
+From 5e28809d08bf5002e3b11f500573476d0d4e1ab8 Mon Sep 17 00:00:00 2001
+From: Alan Jenkins <alan-jenkins at tuffmail.co.uk>
+Date: Mon, 22 Feb 2010 16:03:58 +0000
+Subject: [PATCH] eeepc-laptop: check wireless hotplug events
+
+commit bc9d24a3aeb1532fc3e234907a8b6d671f7ed68f upstream.
+
+Before we mark the wireless device as unplugged, check PCI config space
+to see whether the wireless device is really disabled (and vice versa).
+This works around newer models which don't want the hotplug code, where
+we end up disabling the wired network device.
+
+My old 701 still works correctly with this.  I can also simulate an
+afflicted model by changing the hardcoded PCI bus/slot number in the
+driver, and it seems to work nicely (although it is a bit noisy).
+
+In future this type of hotplug support will be implemented by the PCI
+core.  The existing blacklist and the new warning message will be
+removed at that point.
+
+Signed-off-by: Alan Jenkins <alan-jenkins at tuffmail.co.uk>
+Signed-off-by: Corentin Chary <corentincj at iksaif.net>
+[bwh: Adjust context for 2.6.32]
+---
+ drivers/platform/x86/eeepc-laptop.c |   18 ++++++++++++++++++
+ 1 files changed, 18 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/platform/x86/eeepc-laptop.c b/drivers/platform/x86/eeepc-laptop.c
+index 329093e..c533b1c 100644
+--- a/drivers/platform/x86/eeepc-laptop.c
++++ b/drivers/platform/x86/eeepc-laptop.c
+@@ -752,6 +752,8 @@ static void eeepc_rfkill_hotplug(void)
+ 	struct pci_dev *dev;
+ 	struct pci_bus *bus;
+ 	bool blocked = eeepc_wlan_rfkill_blocked();
++	bool absent;
++	u32 l;
+ 
+ 	if (ehotk->wlan_rfkill)
+ 		rfkill_set_sw_state(ehotk->wlan_rfkill, blocked);
+@@ -765,6 +767,22 @@ static void eeepc_rfkill_hotplug(void)
+ 			goto out_unlock;
+ 		}
+ 
++		if (pci_bus_read_config_dword(bus, 0, PCI_VENDOR_ID, &l)) {
++			pr_err("Unable to read PCI config space?\n");
++			goto out_unlock;
++		}
++		absent = (l == 0xffffffff);
++
++		if (blocked != absent) {
++			pr_warning("BIOS says wireless lan is %s, "
++					"but the pci device is %s\n",
++				blocked ? "blocked" : "unblocked",
++				absent ? "absent" : "present");
++			pr_warning("skipped wireless hotplug as probably "
++					"inappropriate for this model\n");
++			goto out_unlock;
++		}
++
+ 		if (!blocked) {
+ 			dev = pci_get_slot(bus, 0);
+ 			if (dev) {
+-- 
+1.7.1
+

Modified: dists/sid/linux-2.6/debian/patches/series/16
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/16	Wed Jun  9 22:16:05 2010	(r15846)
+++ dists/sid/linux-2.6/debian/patches/series/16	Thu Jun 10 00:17:48 2010	(r15847)
@@ -127,3 +127,4 @@
 - bugfix/all/thinkpad-acpi-add-x100e.patch
 + bugfix/all/sctp-fix-append-error-cause-to-ERROR-chunk-correctly.patch
 + bugfix/mips/sibyte-m3-tlb-exception.patch
++ bugfix/x86/eeepc-laptop-check-wireless-hotplug-events.patch



More information about the Kernel-svn-changes mailing list