[x86] asus-laptop: Do not call HWRS on init (Closes: #692436)
svn path=/dists/sid/linux/; revision=19486
This commit is contained in:
parent
a897b304ab
commit
8168aa3085
|
@ -40,6 +40,7 @@ linux (3.2.33-1) UNRELEASED; urgency=low
|
|||
- Move broadcom to nic-modules, as it may be needed by tg3
|
||||
* udeb: Add bnx2fc, fnic, pmcraid to scsi-extra-modules
|
||||
* udeb: Move rtl8180 to nic-extra-modules
|
||||
* [x86] asus-laptop: Do not call HWRS on init (Closes: #692436)
|
||||
|
||||
-- Ben Hutchings <ben@decadent.org.uk> Wed, 24 Oct 2012 14:15:57 +0100
|
||||
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
From: Ben Hutchings <ben@decadent.org.uk>
|
||||
Date: Fri, 9 Nov 2012 02:43:00 +0000
|
||||
Subject: asus-laptop: Do not call HWRS on init
|
||||
|
||||
Since commit 8871e99f89b7 ('asus-laptop: HRWS/HWRS typo'), module
|
||||
initialisation is very slow on the Asus UL30A. The HWRS method takes
|
||||
about 12 seconds to run, and subsequent initialisation also seems to
|
||||
be delayed. Since we don't really need the result, don't bother
|
||||
calling it on init. Those who are curious can still get the result
|
||||
through the 'infos' device attribute.
|
||||
|
||||
Update the comment about HWRS in show_infos().
|
||||
|
||||
Reported-by: ryan <draziw+deb@gmail.com>
|
||||
References: http://bugs.debian.org/692436
|
||||
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
---
|
||||
drivers/platform/x86/asus-laptop.c | 17 ++++-------------
|
||||
1 file changed, 4 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/drivers/platform/x86/asus-laptop.c b/drivers/platform/x86/asus-laptop.c
|
||||
index 4b568df..a961156 100644
|
||||
--- a/drivers/platform/x86/asus-laptop.c
|
||||
+++ b/drivers/platform/x86/asus-laptop.c
|
||||
@@ -860,8 +860,10 @@ static ssize_t show_infos(struct device *dev,
|
||||
/*
|
||||
* The HWRS method return informations about the hardware.
|
||||
* 0x80 bit is for WLAN, 0x100 for Bluetooth.
|
||||
+ * 0x40 for WWAN, 0x10 for WIMAX.
|
||||
* The significance of others is yet to be found.
|
||||
- * If we don't find the method, we assume the device are present.
|
||||
+ * We don't currently use this for device detection, and it
|
||||
+ * takes several seconds to run on some systems.
|
||||
*/
|
||||
rv = acpi_evaluate_integer(asus->handle, "HWRS", NULL, &temp);
|
||||
if (!ACPI_FAILURE(rv))
|
||||
@@ -1682,7 +1684,7 @@ static int asus_laptop_get_info(struct asus_laptop *asus)
|
||||
{
|
||||
struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
|
||||
union acpi_object *model = NULL;
|
||||
- unsigned long long bsts_result, hwrs_result;
|
||||
+ unsigned long long bsts_result;
|
||||
char *string = NULL;
|
||||
acpi_status status;
|
||||
|
||||
@@ -1744,17 +1746,6 @@ static int asus_laptop_get_info(struct asus_laptop *asus)
|
||||
if (*string)
|
||||
pr_notice(" %s model detected\n", string);
|
||||
|
||||
- /*
|
||||
- * The HWRS method return informations about the hardware.
|
||||
- * 0x80 bit is for WLAN, 0x100 for Bluetooth,
|
||||
- * 0x40 for WWAN, 0x10 for WIMAX.
|
||||
- * The significance of others is yet to be found.
|
||||
- */
|
||||
- status =
|
||||
- acpi_evaluate_integer(asus->handle, "HWRS", NULL, &hwrs_result);
|
||||
- if (!ACPI_FAILURE(status))
|
||||
- pr_notice(" HWRS returned %x", (int)hwrs_result);
|
||||
-
|
||||
if (!acpi_check_handle(asus->handle, METHOD_WL_STATUS, NULL))
|
||||
asus->have_rsts = true;
|
||||
|
|
@ -404,3 +404,4 @@ debian/hid-avoid-ABI-change-in-3.2.31.patch
|
|||
debian/xfrm-avoid-ABI-change-in-3.2.31.patch
|
||||
bugfix/all/use-clamp_t-in-UNAME26-fix.patch
|
||||
debian/fs-writeback-avoid-ABI-change-in-3.2.32.patch
|
||||
bugfix/x86/asus-laptop-Do-not-call-HWRS-on-init.patch
|
||||
|
|
Loading…
Reference in New Issue