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:
parent
3d1093d637
commit
d254a7df29
|
@ -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.
|
||||
|
|
|
@ -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();
|
26
debian/patches/bugfix/x86/eeepc-laptop-disable-wireless-hotplug-for-1005PE.patch
vendored
Normal file
26
debian/patches/bugfix/x86/eeepc-laptop-disable-wireless-hotplug-for-1005PE.patch
vendored
Normal 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");
|
||||
}
|
19
debian/patches/bugfix/x86/eeepc-laptop-disable-wireless-hotplug-for-1201N.patch
vendored
Normal file
19
debian/patches/bugfix/x86/eeepc-laptop-disable-wireless-hotplug-for-1201N.patch
vendored
Normal 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");
|
||||
}
|
73
debian/patches/bugfix/x86/eeepc-laptop-dmi-blacklist-to-disable-pci-hotplug.patch
vendored
Normal file
73
debian/patches/bugfix/x86/eeepc-laptop-dmi-blacklist-to-disable-pci-hotplug.patch
vendored
Normal 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 -
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue