[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