eeepc-laptop: Disable wireless hotplug on 1005HA, 1201N and 1005PE since it disconnects the wrong device (Closes: #573607)

svn path=/dists/sid/linux-2.6/; revision=15429
This commit is contained in:
Ben Hutchings 2010-03-20 18:16:38 +00:00
parent 3d1093d637
commit d254a7df29
6 changed files with 163 additions and 0 deletions

2
debian/changelog vendored
View File

@ -10,6 +10,8 @@ linux-2.6 (2.6.32-11) UNRELEASED; urgency=low
* iwlwifi: Fix repeated warnings about tfds_in_queue (Closes: #574526)
* eeepc-laptop: Disable CPU speed control on 701 and 702 since it can
cause the system to hang (Closes: #559578)
* eeepc-laptop: Disable wireless hotplug on 1005HA, 1201N and 1005PE
since it disconnects the wrong device (Closes: #573607)
[ maximilian attems]
* [alpha, hppa] Disable oprofile as tracing code is unsupported here.

View File

@ -0,0 +1,39 @@
From: Corentin Chary <corentincj@iksaif.net>
Date: Wed, 6 Jan 2010 22:07:40 +0100
Subject: [PATCH 1/3] eeepc-laptop: add hotplug_disable parameter
Some new models need to disable wireless hotplug.
For the moment, we don't know excactly what models need that,
except 1005HA.
Users will be able to use that param as a workaround.
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
[bwh: Backported to 2.6.32]
--- a/drivers/platform/x86/eeepc-laptop.c
+++ b/drivers/platform/x86/eeepc-laptop.c
@@ -254,6 +254,14 @@ MODULE_AUTHOR("Corentin Chary, Eric Cooper");
MODULE_DESCRIPTION(EEEPC_HOTK_NAME);
MODULE_LICENSE("GPL");
+static bool hotplug_disabled;
+
+module_param(hotplug_disabled, bool, 0644);
+MODULE_PARM_DESC(hotplug_disabled,
+ "Disable hotplug for wireless device. "
+ "If your laptop need that, please report to "
+ "acpi4asus-user@lists.sourceforge.net.");
+
/*
* ACPI Helpers
*/
@@ -1305,6 +1313,8 @@ static int __devinit eeepc_acpi_add(struct acpi_device *device)
device->driver_data = ehotk;
ehotk->device = device;
+ ehotk->hotplug_disabled = hotplug_disabled;
+
eeepc_dmi_check();
result = eeepc_hotk_check();

View File

@ -0,0 +1,26 @@
From: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Date: Sat, 20 Feb 2010 11:02:24 +0000
Subject: [PATCH 3/3] eeepc-laptop: disable wireless hotplug for 1005PE
The wireless hotplug code is not needed on this model, and it disables
the wired ethernet card. (Like on the 1005HA and 1201N).
References: <http://lists.alioth.debian.org/pipermail/debian-eeepc-devel/2010-February/003281.html>
Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Reported-by: Ansgar Burchardt <ansgar@43-1.org>
CC: stable@kernel.org
[bwh: Backported to 2.6.32]
--- a/drivers/platform/x86/eeepc-laptop.c
+++ b/drivers/platform/x86/eeepc-laptop.c
@@ -660,7 +660,8 @@ static void eeepc_dmi_check(struct eeepc_laptop *eeepc)
* hotplug code. In fact, current hotplug code seems to unplug another
* device...
*/
- if (strcmp(model, "1005HA") == 0 || strcmp(model, "1201N") == 0) {
+ if (strcmp(model, "1005HA") == 0 || strcmp(model, "1201N") == 0 ||
+ strcmp(model, "1005PE") == 0) {
ehotk->hotplug_disabled = true;
pr_info("wlan hotplug disabled\n");
}

View File

@ -0,0 +1,19 @@
From: Corentin Chary <corentincj@iksaif.net>
Date: Wed, 6 Jan 2010 22:07:41 +0100
Subject: [PATCH 2/3] eeepc-laptop: disable wireless hotplug for 1201N
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
[bwh: Backported to 2.6.32]
--- a/drivers/platform/x86/eeepc-laptop.c
+++ b/drivers/platform/x86/eeepc-laptop.c
@@ -660,7 +660,7 @@ static void eeepc_dmi_check(struct eeepc_laptop *eeepc)
* hotplug code. In fact, current hotplug code seems to unplug another
* device...
*/
- if (strcmp(model, "1005HA") == 0) {
+ if (strcmp(model, "1005HA") == 0 || strcmp(model, "1201N") == 0) {
ehotk->hotplug_disabled = true;
pr_info("wlan hotplug disabled\n");
}

View File

@ -0,0 +1,73 @@
From: Corentin Chary <corentincj@iksaif.net>
Date: Wed, 6 Jan 2010 22:07:38 +0100
Subject: [PATCH] eeepc-laptop: dmi blacklist to disable pci hotplug code
This is a short term workaround for Eeepc 1005HA.
refs: <http://bugzilla.kernel.org/show_bug.cgi?id=14570>
Signed-off-by: Corentin Chary <corentincj@iksaif.net>
Signed-off-by: Len Brown <len.brown@intel.com>
[bwh: Backported to 2.6.32]
--- a/drivers/platform/x86/eeepc-laptop.c
+++ b/drivers/platform/x86/eeepc-laptop.c
@@ -137,6 +137,7 @@ struct eeepc_hotk {
u32 cm_supported; /* the control methods supported
by this BIOS */
bool cpufv_disabled;
+ bool hotplug_disabled;
uint init_flag; /* Init flags */
u16 event_count[128]; /* count for each event */
@@ -614,6 +615,10 @@ static void eeepc_dmi_check(struct eeepc_laptop *eeepc)
{
const char *model;
+ model = dmi_get_system_info(DMI_PRODUCT_NAME);
+ if (!model)
+ return;
+
/*
* Blacklist for setting cpufv (cpu speed).
*
@@ -633,17 +638,24 @@ static void eeepc_dmi_check(struct eeepc_laptop *eeepc)
* substring matching. We don't want to affect the "701SD"
* and "701SDX" models, because they do support S.H.E.
*/
-
- model = dmi_get_system_info(DMI_PRODUCT_NAME);
- if (!model)
- return;
-
if (strcmp(model, "701") == 0 || strcmp(model, "702") == 0) {
ehotk->cpufv_disabled = true;
pr_info("model %s does not officially support setting cpu "
"speed\n", model);
pr_info("cpufv disabled to avoid instability\n");
}
+
+ /*
+ * Blacklist for wlan hotplug
+ *
+ * Eeepc 1005HA doesn't work like others models and don't need the
+ * hotplug code. In fact, current hotplug code seems to unplug another
+ * device...
+ */
+ if (strcmp(model, "1005HA") == 0) {
+ ehotk->hotplug_disabled = true;
+ pr_info("wlan hotplug disabled\n");
+ }
}
static void cmsg_quirk(struct eeepc_laptop *eeepc, int cm, const char *name)
@@ -1156,6 +1168,9 @@ static int eeepc_rfkill_init(struct eeepc_laptop *eeepc)
if (result && result != -ENODEV)
goto exit;
+ if (ehotk->hotplug_disabled)
+ return 0;
+
result = eeepc_setup_pci_hotplug();
/*
* If we get -EBUSY then something else is handling the PCI hotplug -

View File

@ -2,3 +2,7 @@
+ bugfix/sparc/sparc-Provide-io-read-write-16-32-be.patch
+ bugfix/all/iwlwifi-fix-nfreed.patch
+ bugfix/x86/eeepc-laptop-disable-cpu-speed-control-on-EeePC-701.patch
+ bugfix/x86/eeepc-laptop-dmi-blacklist-to-disable-pci-hotplug.patch
+ bugfix/x86/eeepc-laptop-add-hotplug_disable-parameter.patch
+ bugfix/x86/eeepc-laptop-disable-wireless-hotplug-for-1201N.patch
+ bugfix/x86/eeepc-laptop-disable-wireless-hotplug-for-1005PE.patch